エルビス演算子

読み:えるびすえんざんし
外語:elvis operator 英語
品詞:名詞

幾つかのプログラミング言語に存在する二項演算子。言語により若干異なるが、第一項と第二項のどちらかを選択する働きをする。

目次

三項演算子である x ? y : z の第二項を削ったものと解釈できるが、?: は2文字続けて書くと一つの演算子となり、間に空白を入れてはならない。

PerlSwiftなどにはnull合体演算子という似たような演算子が存在する。

名前の由来

名前の由来は、エルビス・プレスリーから。

演算子 ?: がエルビス・プレスリーの顔文字に似ているから、とされる。プレスリーは 5:-) と表現され、このうち5がリーゼント、:が目、-が鼻、)が口を意味することになる。

エルビス演算子 ?: は、つまり?がリーゼントで、:が目ということになる。

C/C++/PHP

GCC 2.95.3以降の独自拡張C/C++やPHP 5.3以降では、三項演算子の第二項を省略することが可能になった。

x ?: y

このように書かれた場合は、次のように書かれた場合と等価の動きをする。

x ? x : y

つまり、第一項が真値(true)なら第一項が、さもなくば第二項が選択される演算子として振る舞う。

null比較

エルビス演算子は本来は第一項の真偽を判断するものだったが、Kotlinなど第一項をnullと比較しnull合体演算子として用いる実装がある。

x ?: y

第一項xがnullかどうかを比較し、nullでなければ第一項xを、nullであれば第二項yを選択する。

Swiftの場合、同様の演算子はnil結合演算子 ?? である。nil結合演算子は他のプログラミング言語ではnull合体演算子と呼ばれることが多い。

用語の所属
演算子
関連する用語
null合体演算子

コメントなどを投稿するフォームは、日本語対応時のみ表示されます


KisoDic通信用語の基礎知識検索システム WDIC Explorer Version 7.04a (27-May-2022)
Search System : Copyright © Mirai corporation
Dictionary : Copyright © WDIC Creators club