x = "hoge" && puts x # -> SyntaxError y = "fuga" and puts y # -> "fuga"
&& は優先度が高くて、前者のコードは x = ("hoge" && puts) x と解釈されてしまう。
and は優先度が低いので、後者のコードは (y = "fuga") and (puts y) と解釈される。
x = "hoge" && puts x # -> SyntaxError y = "fuga" and puts y # -> "fuga"
&& は優先度が高くて、前者のコードは x = ("hoge" && puts) x と解釈されてしまう。
and は優先度が低いので、後者のコードは (y = "fuga") and (puts y) と解釈される。