もりきゅうです. ttate / jaist.ac.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 >となると思います。 ありがとうございます. FAQ のネタにでもしてくださいませ.^^; -- 4. 構文 Q: p true or true and false は true になるのに if true or true and false は false になります. A: (立石さんのお返事) -- ---- Kazuhiro Yoshida moriq / ma2.seikyou.ne.jp