【问题标题】:Strange Ruby behavior with || and &&|| 的奇怪 Ruby 行为和 &&
【发布时间】:2014-01-01 14:34:42
【问题描述】:
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 返回 nil,现在这很有意义,感谢第一个答案 :)

【问题讨论】:

  • 没什么奇怪的 :puts 方法返回 nil
  • Ups,我忘了这个,现在一切都说得通了。谢谢。

标签: ruby logical-operators puts


【解决方案1】:

没什么奇怪的,因为:puts 方法返回nil&& 运算符的第二个参数没有被评估。但是,在第一种情况下,您会同时调用:a,然后调用:b,因为:a 方法返回nil

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-25
    • 2019-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多