尝试学习Ruby我遇到了这种语法......任何人都能解释一下它的含义吗?
a = nil if b.nonzero?
非零? :如果num不为零则返回self,否则返回nil。
因此不会返回布尔值
答案 0 :(得分:4)
ruby中的值是真实的和虚假的。也就是说,如果值不是nil或false,则为true。因此,如果您有一个返回1
的函数,您可以在布尔表达式some_function && true
中使用它来解析为真。
同样,如果它返回nil
,some_function && true
将返回false。
这里有详细而深入的解释:https://gist.github.com/jfarmer/2647362