ちょいと質問。
ttp://www.ruby-lang.org/ja/man/html/_B1E9BBBBBBD2BCB0.html > 自己代入
> この違いは属性参照のときに
> obj.foo ||= true
> が、
> obj.foo = obj.foo || true
> でなく
> obj.foo || (obj.foo = true)
> と呼ばれることを示します。
これは、たとえば str ||= '文字列' は str || (str = '文字列') となってるってこと?
irb> str || (str = '文字列')
NameError: undefined local variable or method `str' for main:Object
from (irb):1
from :0