我试图在下面的代码中使用运算符!~
和!=
。但无法弄清楚这种差异。但我怀疑,如果不是这样,为什么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
有人可以在这里帮助我说一下他们之间有什么不同吗?
答案 0 :(得分:7)
The =~
operator及其否定!~
用于模式匹配。它由Regexp和String覆盖,以提供正则表达式模式匹配,但对于数字,它未实现。这就是2 =~ 3
给出nil
的原因,因此2 !~ 3
为true
。