Вопрос

Я в замешательстве с оператором Руби <=>. Чем он отличается от == или ===? Есть всеобъемлющие примеры/вариант использования? Спасибо.

Это было полезно?

Решение

Это называется оператором «космический корабль». Больше информации: Что такое оператор 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)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top