我试着和下面代码中的操作符!~
和!=
一起玩。但无法找出这样的区别。但我有疑问,如果不是这样的话,为什么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
。