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 =~ 3nil,所以2 !~ 3true

于 2013-02-22T20:31:46.580 回答