:sym.eql?(“sym”)在IronRuby中行为不端?

时间:2011-04-04 13:49:55

标签: ruby ironruby

我刚刚在我的Mac上安装了Mono 2.10并继续运行我之前完成的Ruby Koans,看看IronRuby是否与Mac的原生Ruby 1.8.7获得了相同的结果。其中一项测试失败了,问题似乎是这样:

在Ruby 1.8.7中,以下表达式为false:

:sym.eql?("sym")
=> false

然而,在IronRuby中,确实如此。我正在运行的IronRuby版本是1.1.2.0,显然可以与Ruby 1.9.2相媲美,所以我下载了它来检查它 - 它获得与Ruby 1.8.7相同的行为。这是IronRuby实施的问题吗?

1 个答案:

答案 0 :(得分:2)

根据Ruby Spec,这是一个错误。 #eql?的语义是,如果==为真,则为真,如果对象属于同一类,则为