这是什么!=~ruby中的比较运算符?
我偶然发现了这个接线员:这是什么!=~ruby中的比较运算符?,ruby,operators,Ruby,Operators,我偶然发现了这个接线员: ruby-1.9.2-p290 :028 > "abc" !=~ /abc/ => true 这是什么?它的行为看起来不像“不匹配”。这不是一个操作符,而是两个操作符被写成一个操作符 从最高到最低: []]= ** !~+-[一元] [多行] ==!==~~ 此外,Regexp类还有一个: ~rxp→ 整数或零 将rxp与$的内容进行匹配。相当于rxp=~$\ux 所以你的表达式相当于: "abc" != (/abc/ =~ $_) 运算符(与更熟悉的
ruby-1.9.2-p290 :028 > "abc" !=~ /abc/
=> true
这是什么?它的行为看起来不像“不匹配”。这不是一个操作符,而是两个操作符被写成一个操作符 从最高到最低:
[]]=
**
!~+-代码>[一元]
[多行]
==!==~~代码>
此外,Regexp类还有一个:
~rxp→ 整数或零
将rxp
与$的内容进行匹配。相当于rxp=~$\ux
所以你的表达式相当于:
"abc" != (/abc/ =~ $_)
运算符(与更熟悉的运算符不同)返回一个数字:
rxp=~str→ 整数或零
将rxp与str匹配
所以最终结果为true,因为将字符串与数字进行比较是false
例如:
>> $_ = 'Where is pancakes house?'
=> "Where is pancakes house?"
>> 9 !=~ /pancakes/
=> false
>> ~ /pancakes/
=> 9
~
与=~
相反,而不是=~代码>似乎不是真正的操作员。很可能是代码>和=~
谢谢分享。