Путать с оператором Ruby <=> - PullRequest
7 голосов
/ 20 января 2011

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

Ответы [ 3 ]

13 голосов
/ 20 января 2011

<=> - оператор комбинированного сравнения.возвращает 0, если LHS равен RHS, 1, если LHS больше RHS, и -1, если LHS меньше RH

9 голосов
/ 20 января 2011

Это называется оператором "космического корабля".Подробнее: Что такое оператор Ruby <=> (космический корабль)? и http://en.wikipedia.org/wiki/Spaceship_operator

2 голосов
/ 20 января 2011

== НЕ будет работать в сортировке, например

[3,5,6,2,7].sort{|x,y| x <=>y }

== возвращает логическое значение
<=> возвращает Fixnum (-1,0,1)

...