我試圖在下面的代碼中與運營商!~
和!=
一起玩。但無法弄清楚這種差異。但我懷疑,如果不是這樣,爲什麼Ruby介紹他們?Ruby中的「!=」和「!〜」是否有區別?
2 !=3
# => true
2 !~ 3
# => true
c= [1,2,3]
# => [1, 2, 3]
d=[1,4,5]
# => [1, 4, 5]
c != d
# => true
c !~ d
# => true
任何人都可以請幫我在這裏說,如果它們之間有什麼區別?
我試圖在下面的代碼中與運營商!~
和!=
一起玩。但無法弄清楚這種差異。但我懷疑,如果不是這樣,爲什麼Ruby介紹他們?Ruby中的「!=」和「!〜」是否有區別?
2 !=3
# => true
2 !~ 3
# => true
c= [1,2,3]
# => [1, 2, 3]
d=[1,4,5]
# => [1, 4, 5]
c != d
# => true
c !~ d
# => true
任何人都可以請幫我在這裏說,如果它們之間有什麼區別?
The =~
operator及其負!~
用於模式匹配。它被Regexp和String覆蓋,以提供正則表達式模式匹配,但是對於數字它沒有實現。這就是爲什麼2 =~ 3
給出nil
,所以2 !~ 3
是true
。
如果沒有對數字實施罰款,那麼這些'boolean'值是怎麼來的? – 2013-02-22 20:37:10
['! nil == true'。](http://ruby-doc.org/core-1.9.3/BasicObject.html#method-i-21) – jtbandes 2013-02-22 20:40:35
意味着你說'2!〜3'返回'!nil' ? – 2013-02-22 20:48:05
我相信'!〜'是用來匹配正則表達式的字符串。 – MurifoX 2013-02-22 20:29:36
'2!= 2;'=>'false'但是'2!〜2;'=>'true' – 2013-02-22 20:35:16