gpt4 book ai didi

ruby - 对于 Ruby bool 值,如果没有相等语句,您要检查什么?

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

我正在使用一个教程,它有一个这样的条件:

if Restaurant.method1
puts "XXX"
elsif Restaurant.method2
puts "YYY"
end

这两种方法都返回 bool 值 truefalse。同样,对于变量,我也看到过类似的东西:

if x
puts "XXX"
else
puts "YYY"
end

我想知道考虑到没有相等运算符 (==) 或赋值运算符 (=),您到底在检查什么?一定有某种可能被 Ruby 的简单性所隐藏的相等性检查,因为我在我的脑海中逻辑地思考这个,“If x”和“If Restaurant.method”都没有任何意义,因为没有某种检查的条件。

最佳答案

这是编程中的通用范例,而不是 Ruby 抽象。您正在检查某事是否真实。特别是在 ruby​​ 中,除了 falsenil 之外,一切都是真实的。如果您想对此进行测试,请在您的控制台中自行尝试:

!!1 # => true
!!0 # => true
!![] # => true
!!{} # => true

...等等,而

!!false # => false
!!nil # => false

重要说明:这仅适用于 Ruby。其他语言有不同的规则。例如,在某些语言中 0 是假的。在学习一门新语言时尽早学习这些内容很重要。

关于ruby - 对于 Ruby bool 值,如果没有相等语句,您要检查什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40476323/

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