LoginSignup
1
0

More than 1 year has passed since last update.

三項演算子

Last updated at Posted at 2022-02-28

三項演算子とは

if ~ else ~ を1つの文で書くときの演算子。
Rubyなどでコンパクトな表現に置き換えられる。
ternary operatorともいうので3つのものを1組にして動かすってイメージ。

論理値(条件式) ? 何かをする(条件式a) : 別のことをする(条件式式b)

論理値(条件式)を評価して結果が真なら 何かをする(条件式a), 偽なら 別のことをする(条件式式b)を評価してその結果を値とする。

少し細かく

# 普通に書くとき
if 論理値(条件式)
  何かをする(条件式a)
else
  別のことをする(条件式式b)
end

# 三項演算子のとき
論理値(条件式) ? 何かをする(条件式a) : 別のことをする(条件式式b)

if boolean?
  var = foo
else
  var = bar
end
var = boolean? ? foo : bar



それとメソッドの戻り値として使うこともよくあるみたい。

def foo
  do_stuff
  boolean? ? "bar" : "baz"
end

Rubyでは暗黙的にメソッドの最後に評価した式の結果を返すので、上のfooメソッドは、boolean?がtrueであるかfalseであるかに応じて、"bar"または"baz"をそれぞれ返します。

とりあえず条件式に?をつけてtrueが左、falseが右って覚えておけば大丈夫そうかな
1
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0