(a&& b)与(a和b)

时间:2011-07-21 12:20:04

标签: ruby

鉴于:

a=true
b=false

为什么我可以这样做:

puts [a && b, a || b]  #[false, true]

但不是

puts [a and b, a or b] 

语法错误,意外的keyword_and,期待']' 把[a和b,a或b]

2 个答案:

答案 0 :(得分:5)

显然,逗号的运算符优先级高于“和”但低于&&。

在元素周围放置括号:

[(a and b), (a or b)]

答案 1 :(得分:0)

您需要简单地对术语进行分组以避免优先级问题:

puts [(a and b),(a or b)]