为什么Ruby使用=〜而不是〜=匹配运算符?

时间:2014-10-30 16:33:42

标签: ruby regex

我有一个关于在Ruby中匹配运算符的愚蠢问题。为什么Ruby使匹配运算符=~而不是~=?是否有历史,心理或其他考虑因素而不是后者?

我找不到任何关于此的信息,我需要对此有所了解,因为我因其他运算符(例如+=-=,{{1}而输入了错误的内容},!=>=<=放在另一个运算符的右侧,而=则相反。

请让我高兴。

2 个答案:

答案 0 :(得分:5)

我的观点是它更加一致。他们是几个“平等”和“匹配”的运营商。例如:

=~代表'匹配'

!~代表'不匹配'

==代表'等于'

!=代表'不等于'

答案 1 :(得分:2)

同样从更高层次的角度来看,如果你想一想用文字阅读这些符号的方式,它就会有意义:

  • += -=基本上是a = a + ba = a - b 添加(+)或减法(-)必须在之前发生 分配(=)。
  • 对于像>= !=这样的比较运算符,这些也是有道理的 您问的是a大于(>)或等于(=b或是 a不是(!)等于(=b所以为什么不这样写呢。
  • 以同样的方式~=会说a模式(~) 匹配(=b当您想要的内容为=~,其内容为a 匹配(=)模式(~b

如果你把它们看成文字就会变得相当简洁。