鉴于:
a=true
b=false
为什么我可以这样做:
puts [a && b, a || b] #[false, true]
但不是
puts [a and b, a or b]
语法错误,意外的keyword_and,期待']' 把[a和b,a或b]
答案 0 :(得分:5)
显然,逗号的运算符优先级高于“和”但低于&&。
在元素周围放置括号:
[(a and b), (a or b)]
答案 1 :(得分:0)
您需要简单地对术语进行分组以避免优先级问题:
puts [(a and b),(a or b)]