gpt4 book ai didi

ruby - Ruby 中赋值时的 bool 运算

转载 作者:太空宇宙 更新时间:2023-11-03 17:25:30 24 4
gpt4 key购买 nike

我是 Ruby 的新手,我做了以下事情:

c = {}
# Some code in the middle
c['a'] = c['a'] or 0

现在我希望它像这样工作:如果 c['a']nil,那么 c['a'] 或 0 将返回 0。因此 c['a'] 的值应为 0。

但是 c['a'] 的值为 nil。为什么会这样?

最佳答案

or is not the same as || in Ruby .你拥有的东西像这样分组:

(c['a'] = c['a']) or 0

这基本上什么都不做。您应该改用 ||:

c['a'] = c['a'] || 0

或者简单地说:

c['a'] ||= 0

请注意,and/&&or/|| 具有相同的行为。

关于ruby - Ruby 中赋值时的 bool 运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12883771/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com