エルビス演算子 |
辞書:電算用語の基礎知識 プログラミング仕様編 (PTPROGS) |
読み:えるびすえんざんし |
外語:elvis operator |
品詞:名詞 |
幾つかのプログラミング言語に存在する二項演算子。言語により若干異なるが、第一項と第二項のどちらかを選択する働きをする。
|
概要 |
三項演算子である x ? y : z の第二項を削ったものと解釈できるが、?: は2文字続けて書くと一つの演算子となり、間に空白を入れてはならない。
PerlやSwiftなどには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合体演算子と呼ばれることが多い。
リンク |
通信用語の基礎知識検索システム WDIC Explorer Ver 7.04a (27-May-2022) Search System : Copyright © Mirai corporation Dictionary : Copyright © WDIC Creators club |