В замешательстве с оператором Руби <=>
-
13-10-2019 - |
Вопрос
Я в замешательстве с оператором Руби <=>. Чем он отличается от == или ===? Есть всеобъемлющие примеры/вариант использования? Спасибо.
Решение
Это называется оператором «космический корабль». Больше информации: Что такое оператор Ruby <=> (космический корабль)? а также http://en.wikipedia.org/wiki/spaceship_operator
Другие советы
<=>
это комбинированный оператор сравнения. Он возвращает 0, если LHS равна RHS, 1, если LHS больше RHS и -1, если LHS меньше RHS
==, например, не будет работать
[3,5,6,2,7].sort{|x,y| x <=>y }
== возвращает логический
<=> возвращает Fixnum (-1,0,1)
Не связан с StackOverflow