加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Ruby true,false或nil

发布时间:2020-12-17 01:43:13 所属栏目:百科 来源:网络整理
导读:我有一个boolean var的对象. field :processing,:type = Boolean 在我面前的开发人员写了一些代码说这个. :processing = nil (出于某种原因,他将其设置为nil而不是false.) 然后他做了这个if语句 return if self.processing dosomethingelse.... 如果我编写代
我有一个boolean var的对象.

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使用truthy和falsey.

虚假和零是假的,其他一切都是真实的.

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

输出是“真是真,真啊!”

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

输出是“零是假的”

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

输出是“0是真的”

见这个解释True and False

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读