logo

ジュリアの三項演算子 ? : 📂ジュリア

ジュリアの三項演算子 ? :

概要

ジュリアでのA ? B : Cは、いわゆる三項演算子ternary Operatorで、Aが真ならB、偽ならCを返す関数だ。数学的に二項演算が関数として定義されるように、三項演算もまた関数だ。条件文と似ているけれども、このような本質的な違いがあるため、慣れれば非常に便利に使える。ただし、読みやすいコードからはちょっと離れることがあるので、無理に乱用する必要はないし、逆に気に入らなくても他の人が使うかもしれないから、ある程度は慣れておく必要がある。

コード

julia> x = iseven(2) ? "even" : "odd"; x
"even"

julia> y = iseven(3) ? "even" : "odd"; y
"odd"

上の命令は、与えられた数が偶数か奇数かに応じて、変数xy"even"または"odd"という文字列を代入している。

julia> x * y
"evenodd"

条件文じゃなく関数だから、こんなに便利なコードが書ける。同じ機能を条件文だけでやろうとすると、スコープscopeなどの問題で無駄に長くなりがちだ。

全体のコード

x = iseven(2) ? "even" : "odd"; x
y = iseven(3) ? "even" : "odd"; y
x * y

環境

  • OS: Windows
  • julia: v1.6.3