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




