Ruby on rails 你能解释一下';s做
可能重复:Ruby on rails 你能解释一下';s做,ruby-on-rails,ruby,gem,Ruby On Rails,Ruby,Gem,可能重复: 我找到了!!在Paypal gem中: 像59 但我不明白它的作用 我知道!意思不是,但是!!没有道理 这是屏幕:它根据其“真实”性质强制将任何值设置为true或false 这仅仅是因为,正如您所指出的,是布尔not运算符。例如: t = 1 puts !t # => false puts !!t # => true f = nil puts !f # => true puts !!f # => false def try x if x == 1
我找到了!!在Paypal gem中: 像59 但我不明白它的作用 我知道!意思不是,但是!!没有道理
这是屏幕:它根据其“真实”性质强制将任何值设置为
true
或false
这仅仅是因为,正如您所指出的,
是布尔not运算符。例如:
t = 1
puts !t # => false
puts !!t # => true
f = nil
puts !f # => true
puts !!f # => false
def try x
if x == 1
return nil
else
return "non-nil"
end
end
p "try1" if try(1) # here you get a string printed
p "try2" if !!try(1) # here you don't
这将强制结果为真或假。在ruby中,nil并不是完全错误的,这可能很有用。例如:
t = 1
puts !t # => false
puts !!t # => true
f = nil
puts !f # => true
puts !!f # => false
def try x
if x == 1
return nil
else
return "non-nil"
end
end
p "try1" if try(1) # here you get a string printed
p "try2" if !!try(1) # here you don't
它用于确保其为布尔类型 例如: !!积极的 =>正确 活动=错误 =>错误 !!积极的 =>错误 活动=零 =>零 !!积极的 =>错误
用于在返回任何内容的内容上返回true
或false
:
在Ruby中,除了nil
和false
之外的所有内容都被解释为true
。但它不会返回true,而是返回值。
所以如果你使用
,您会得到true
或false
,但实际值正好相反。
如果您使用
,您将获得相应的true
或false
值。如果您知道!(foo)
意味着你应该能够计算出是什么!(!(foo))
意思是:)这不是一个不同的运算符,只是两次应用了同一个运算符。你可以用谷歌搜索“ruby double bang”