宇宙船演算子 (英: spaceship operator)、あるいは三方比較演算子 (英: three-way comparison operator) とは、比較演算子の一種である。<=>
演算子として実装されることが多い。
プログラミング言語における具体例
A <=> B
において、Perl(数値のみ)[1]、PHP(バージョン7以上)[2]、Ruby[3]、Apache Groovyは、A < B
なら-1
、A == B
なら0
、A > B
なら1
をそれぞれ返す実装契約を規定している。C++でも<=>
演算子が同じ働きをする[注 1]。
Python 2.x ではcmp
関数[5][注 2]、OCamlではcompare
関数[6]、Kotlin[7]およびJava[8]ではcompareTo
メソッド、.NET FrameworkではCompareTo
メソッド[9]が同じ働きをする。
Haskellでは、Ord
型クラスに定義されているcompare
関数を実装し、LT
、EQ
、GT
のいずれかを返さなければならない[10]。
C言語では、memcmp
とstrcmp
がメモリと文字列に対してそれぞれ比較を行う。
名称の由来
「宇宙船」と言われる由来は諸説ある:
関連項目
脚注
注釈
出典