立石です。 Date: Thu, 23 Sep 1999 22:50:08 +0900 From: Kazuhiro Yoshida <moriq / ma2.seikyou.ne.jp> moriq> 次の結果は妙ですよね. moriq> ruby -e 'a=false;a=true if true or true and false;p a' moriq> false and,orは予約語になっていて優先度は同じようです。 (parse.yとマニュアルより) よって、and,orに対する計算は左から順に行なわれることに なって、a = true という代入は行なわれないわけです。 moriq> ruby -e 'p true or true and false' moriq> true p true or true and false は (p true) or true and false と解釈されます。 よって表示されるのは"true"ですが、式全体の値は (p true or true and false) = nil or true and false = true and false = false となると思います。 Takaaki Tateishi <ttate / jaist.ac.jp>