2

!~私は演算子と!=以下のコードで遊んでみました。しかし、そのような違いを理解することはできませんでした。しかし、そうでない場合、なぜ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

それらの間に何か違いがあるかどうか言って、誰かがここで私を助けてくれませんか?

4

1 に答える 1

7

=~演算子とその負!~値は、パターンマッチング用です。正規表現のパターンマッチングを提供するためにRegexpStringによってオーバーライドされますが、数値の場合は実装されません。これが、2 =~ 3を与える理由です。nil2 !~ 3true

于 2013-02-22T20:31:46.580 に答える