Ruby字符串比较:== vs ===

时间:2012-02-10 07:46:45

标签: ruby-on-rails ruby

  

可能重复:
  === vs. == in Ruby

我可以假设它们是相同的吗?

if foo == "bar"

VS

if foo === "bar"

感谢。

1 个答案:

答案 0 :(得分:-2)

他们不一样。简短的回答是==检查值是否相同,但必要时进行类型转换。 ===仅在值AND类型相同时才为真。

0 == "0" #=> true
0 === "0" #=> false
0 === 0 #=> true

在互联网上有(数字上)数以百万计的讨论,因为从长远来看,这不是特定于Ruby的事情。如果您想了解更多信息,请尝试使用Google搜索。

修改

我犯了一个错误,这是不正确的。