2008-06-03 and/or 演算子の優先順位は三項演算子より低い ruby a and b == c ? d : e は、 a and (b == c ? d : e) と等価なんですね。 (a and b == c) ? d : e と等価にしたかったら、 a && b == c ? d : e ってしないとなんですね。 覚えたこと and/or 演算子の優先順位は三項演算子より低くて、&&/|| 演算子の優先順位は三項演算子より高い。 参考 Ruby Reference Manual - るりま