ruby - Ruby 中 <=> 和 == 的区别?

标签 ruby spaceship-operator

它们有什么区别?来自 Java 背景,在我看来 <=> 与 Java 的 equals() 相同,而 == 用于直接引用比较。这样对吗?

最佳答案

==仅测量两个对象是否相等,而 <=>如果第一个对象较小,则应返回 -1;如果它们相等,则应返回 0;如果第一个对象较大,则应返回 1。

如果你定义一个<=>方法,您还将获得定义的所有其他比较运算符( ==<> 等等)。

关于ruby - Ruby 中 <=> 和 == 的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6809465/

相关文章:

ruby - 需要 oci8 时脚本失败

ruby-on-rails - Ruby on Rails 使用设置生成 ActiveRecord 模型

c++ - 当父类没有为自己定义宇宙飞船运算符时覆盖宇宙飞船运算符

ruby-on-rails - 覆盖 Ruby 的飞船操作符 <=>

ruby - 让 Chef Recipe Recipe 只运行一次

ruby-on-rails - Ruby on Rails 国家/州选择 Enigma

ruby-on-rails - Ruby on Rails 种子数据库语法错误

c++ - 递归宇宙飞船运算符

c++ - 可以在折叠表达式中使用宇宙飞船运算符吗?

ruby - Ruby <=> 组合器的实现