Ruby 有什么区别吗=&引用;及"!~&引用;用红宝石?

Ruby 有什么区别吗=&引用;及"!~&引用;用红宝石?,ruby,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会引入它们

 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

有人能帮我说一下他们之间有什么不同吗?

和它的否定
~用于模式匹配。它被和覆盖以提供正则表达式模式匹配,但对于数字,它没有实现。这就是为什么
2=~3
给出
nil
,所以
2!~3
真的

我相信
~
用于将字符串与regexp匹配。
2!=2;=>
false
但是
2!~2;
=>
true
如果没有为数字精细化实现,那么这样的
布尔值是如何来的>意味着你说的是
2!~3
返回
!无
?@user2060534正确<代码>a!~b
基本上就是这样做的:
!(a=~b)
。那么
2!~3实际上是
!(2=~3)
=>
!(无)
=>
true