1. ホーム
  2. ルビー

[解決済み】Rubyの<=>(スペースシップ)演算子って何?

2022-03-31 21:05:54

質問

Rubyとは <=> (spacehip)演算子を教えてください。この演算子は他の言語でも実装されているのでしょうか?

どのように解決するのですか?

としても知られています。 三項比較演算子 . Perlが最初に使った言語と思われます。他にもサポートしている言語がいくつかある。Apache Groovy、PHP 7+、C++20などです。

を返す代わりに 1 ( true ) または 0 ( false ) 引数が等しいか等しくないかによって、spacehip 演算子が返すのは 1 , 0 または −1 は、右の引数に対する左の引数の値によって決まる。

a <=> b :=
  if a < b then return -1
  if a = b then return  0
  if a > b then return  1
  if a and b are not comparable then return nil

データの並べ替えによく使われる。