ExpertiDict

Ruby · Intermediário · Inglês · Informal

spaceship

/ˈspeɪsʃɪp/substantivo

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.

Veja também

Todos os termos de Ruby