gpt4 book ai didi

ruby-on-rails - Ruby true、false 或 nil

转载 作者:数据小太阳 更新时间:2023-10-29 07:41:55 26 4
gpt4 key购买 nike

我有一个带有 bool 变量的对象。

 field :processing, :type => Boolean

我之前的开发人员写了一些这样的代码。

 :processing => nil 

(出于某种原因,他将其设置为 nil 而不是 false。)

然后他做了这个if语句

 return if self.processing
dosomethingelse....

如果我编写执行此操作的代码

:processing => false 

下次运行此代码时会发生什么? dosomethingelse 运行吗?

return if self.processing
dosomethingelse....

更新 ===========

下面有很多问题所以会在这里回答。

这是我加的

  field :processing, :type => Boolean, :default => false

它破坏了应用程序。当我更改为上面的 dosomethingelse 时,它​​永远不会运行?
如果 self.processing 返回则返回。有什么建议吗?

更新 2 =======================================

这是我的代码中对处理的所有引用(已编辑)。如果重要的话,我也在使用 MongoDB。

.where(:processing => nil).gt(:retries => 0).asc(:send_time).all.entries


if self.processing
end


return if self.processing
self.update_attributes(:processing => true)
dosomethingelse....


.where(:sent_time => nil).where(:processing => nil).gt(:retries => 0).asc(:send_time).all.entries

:processing => nil

最佳答案

Ruby 使用truthyfalsey

falsenilfalsey,其他都是 truthy

if true
puts "true is truthy, duh!"
else
puts "true is falsey, wtf!"
end

输出是 “true is truthy, duh!”

if nil
puts "nil is truthy"
else
puts "nil is falsey"
end

输出是 "nil is falsey"

if 0
puts "0 is truthy"
else
puts "0 is falsey"
end

输出是 “0 is truthy”

请参阅此说明 True and False

关于ruby-on-rails - Ruby true、false 或 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34594477/

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