Чем Comparable и spaceship operator <=> отличается от ручным сравнением и когда что выбирать?

Ruby / RailsMiddleRuby CoreСравнениеruby core|comparable|ruby|rails|comparable и spaceship operator <=>

Что хотят услышать интервьюеры:

Сравнение: «Comparable и spaceship operator <=>» обычно оценивают в паре с ручным сравнением. Выбор зависит от читаемости, Rails conventions, стоимости поддержки, безопасности, нагрузки и тестируемости.

Ответ:

Когда выбирать Comparable и spaceship operator <=>: когда его свойства прямо решают задачу, а не просто выглядят привычно.

Плохой ответ: «так принято в Rails» без объяснения последствий.

class Money include Comparable def <=>(other) amount <=> other.amount end end

Источники

Похожие вопросы