宇宙船演算子

出典: フリー百科事典『ウィキペディア(Wikipedia)』
ナビゲーションに移動 検索に移動

宇宙船演算子 (: spaceship operator)、あるいは三方比較演算子 (: three-way comparison operator) とは、比較演算子の一種である。

プログラミング言語における具体例[編集]

Perl (数値のみ)[1]PHP (バージョン7以上)[2]Ruby[3]Apache GroovyA < BA == BA > Bのケースでそれぞれ-101を返す実装契約を規定している。Python 2.x[注 1]OCamlKotlin[4]Java[5].NET Framework[6]ではcmpcomparecompareToメソッドが同じ働きをする。C++でも、C++20から<=>として使えるようになる予定[7]である。 Haskellでは、Ord型クラスに定義されているcompare関数を実装し、LTEQGTのいずれかを返さなければならない。[8] C言語では、memcmpstrcmpがメモリと文字列に対してそれぞれ比較を行う。

名称の由来[編集]

「宇宙船」と言われる由来は諸説ある:

関連項目[編集]

脚注[編集]

  1. ^ 3.xでは廃止されている
  1. ^ Math::Complex”. Perl Programming Documentation. 2014年9月26日閲覧。
  2. ^ PHP: 比較演算子”. 2019年12月6日閲覧。
  3. ^ module Comparable (Ruby 2.7.0 リファレンスマニュアル)”. docs.ruby-lang.org. 2020年5月6日閲覧。
  4. ^ compareTo - Kotlin Programming Language”. 2020年1月20日閲覧。
  5. ^ Javadoc: Comparable<T>
  6. ^ dotnet-bot. “IComparable.CompareTo(Object) Method (System)” (英語). docs.microsoft.com. 2020年6月6日閲覧。
  7. ^ https://cpprefjp.github.io/lang/cpp20/consistent_comparison.html
  8. ^ Data.Ord”. hackage.haskell.org. 2020年6月10日閲覧。
  9. ^ Fukazawa, Chihiro.; 深沢千尋. (2016). Kantan pāru. Tōkyō: Gijutsuhyōronsha. ISBN 978-4-7741-7791-5. OCLC 935070612. https://www.worldcat.org/oclc/935070612