Ruby · Intermediário · Inglês · Informal
spaceship
Apelido do operador <=>, que compara dois objetos e devolve -1, 0 ou 1, ou nil se não forem comparáveis. É a base do sort e do módulo Comparable.
Onde usar
Aparece ao ordenar com sort e sort_by e ao definir <=> numa classe para ganhar <, > e between?. Comparar arrays como [a, b] <=> [c, d] resolve desempates.
Em código
p 1 <=> 2 # => -1
p "b" <=> "a" # => 1
p 3 <=> 3 # => 0
p 1 <=> "a" # => nil
p [2, 1].sort { |a, b| b <=> a } # => [2, 1]Exemplos
Define the spaceship operator and include Comparable.
Defina o operador spaceship e inclua Comparable.
Spaceship returns nil for incomparable values.
O spaceship devolve nil para valores incomparáveis.
Cuidado
Se os objetos não forem comparáveis, <=> devolve nil e o sort lança ArgumentError; não presuma que sempre volta um número.
Sinônimos
operador de comparação
Origem
Apelido informal pela forma do símbolo <=>, parecida com uma nave espacial.