
26 May
2024
26 May
'24
4:57 p.m.
小川と申します。
念のため、Rubyで !x = 123 をやってみると、Rubyでもエラーにならず false になります。
これはさすがにバグじゃなくて意図的な仕様だと思うのですが、 演算子優先度の例外を作ってまで、 !(x = 123) -(x = 123) +(x = 123) と見做したいという理由があったのでしょうか?
古いissueに議論があるのを見つけました。 Bug #9251: ! operator has lower precedence than = in an assignment expression https://bugs.ruby-lang.org/issues/9251 こうなっている理由はわかりませんが、今の動作で受け入れられているようですね。 -- 小川建一 mailto:kenichi@ice.email.ne.jp ++