我找到了!在PayPal寶石這裏:https://github.com/tc/paypal_adaptive/blob/master/lib/paypal_adaptive/config.rb 像59
但我不明白它是什麼。
我知道了!意思不是,但!!沒有意義。
這裏的屏幕:http://tinyurl.com/7acklhr
我找到了!在PayPal寶石這裏:https://github.com/tc/paypal_adaptive/blob/master/lib/paypal_adaptive/config.rb 像59
但我不明白它是什麼。
我知道了!意思不是,但!!沒有意義。
這裏的屏幕:http://tinyurl.com/7acklhr
它迫使任何價值true
或false
取決於它的「truthy」性質。
這僅僅是因爲,正如你所指出的,!
是布爾運算符。例如:
t = 1
puts !t # => false
puts !!t # => true
f = nil
puts !f # => true
puts !!f # => false
這會迫使結果爲真或假。正如在紅寶石nil不完全是假的,這可能是有用的。例如:
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))'意思:)這不是一個不同的操作符,只是同一個操作符應用兩次 – Gareth 2012-03-12 13:44:29
你可能會嘗試谷歌搜索「紅寶石雙爆」 – 2012-03-12 13:46:44