def a
puts 'a'
end
def b
puts 'b'
end
p a || b #=> prints both 'a' and 'b' although it would only print a
p a && b #=> prints only a
这是怎么回事?我正在使用1.9.3
编辑:我忘了把零归零,现在,这是有道理的,这要归功于第一个答案:)
没什么奇怪的,因为:puts
方法return nil
,&&
operator的第二个参数没有被求值。但是,在第一种情况下,您都必须先同时调用:a
,然后再调用:b
,因为:a
method返回了nil
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句