:sym.eql?("sym") 在 IronRuby 中是否行为不当?

发布于 2024-10-29 04:55:30 字数 396 浏览 0 评论 0 原文

我刚刚在 Mac 上安装了 Mono 2.10,然后运行我之前完成的 Ruby Koans 来看看 IronRuby 是否可用得到与 Mac 原生 Ruby 1.8.7 相同的结果。其中一个测试中途失败了,问题似乎是这样的:

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

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

然而,在 IronRuby 中,它为 true。我运行的 IronRuby 版本是 1.1.2.0,这显然与 Ruby 1.9.2 相当,所以我下载了它来检查 - 它的行为与 Ruby 1.8.7 相同。这是 IronRuby 实现的问题吗?

I just installed Mono 2.10 on my Mac and proceeded to run my Ruby Koans which I had previously finished to see if IronRuby got the same results as Mac's native Ruby 1.8.7. One of the tests midway through failed, and the issue seems to be this:

In Ruby 1.8.7, the following expression is false:

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

However, in IronRuby, it is true. The version of IronRuby I'm running is 1.1.2.0, which apparently is comparable to Ruby 1.9.2, so I downloaded that to check - it gets the same behaviour as Ruby 1.8.7. Is this an issue with IronRuby's implementation?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

未蓝澄海的烟 2024-11-05 04:55:30

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

This is a bug according to the Ruby Spec. The semantics of #eql? are that it is true if == is true and if the objects are of the same class.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文