大谷ともうします。
PHPで、if(!$x = 〜〜〜) という記述を見つけ、
「PHPではこんなのがエラーにならないんだ」と思ったのですが、
念のため、Rubyで
!x = 123
をやってみると、Rubyでもエラーにならず false になります。
演算子の優先度を考えると、これは、
(!x) = 123
の意味になって構文エラーになるはずと思ったのですが、
!(x = 123)
と見なされているようです。単項演算子 + - でも同様ですね。
これはさすがにバグじゃなくて意図的な仕様だと思うのですが、
演算子優先度の例外を作ってまで、
!(x = 123)
-(x = 123)
+(x = 123)
と見做したいという理由があったのでしょうか?
ふとした疑問ですが、ご存じの方、よろしくお願いします。
--
tksotn