【发布时间】:2010-12-22 20:48:17
【问题描述】:
我对 Ruby 中的 and/&&/= 关键字有疑问。
ruby 文档说上述关键字的优先级是:(1)&&、(2)=、(3)and。
我有这个我写的sn-p代码:
def f(n)
n
end
if a = f(2) and b = f(4) then
puts "1) #{a} #{b}"
end
if a = f(2) && b = f(4) then
puts "2) #{a} #{b}"
end
输出是:
1) 2 4 [预期]
2) 4 4 [为什么?]
由于某种原因,使用 && 会导致 a 和 b 都为 4?
【问题讨论】:
标签: ruby and-operator