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