ume

if文の三項演算子(条件演算子)

前書き

日々rubyの勉強をする中で、同じ処理をするにしても多様なコードの書き方があり困惑したりしてしまうケースが多いので、それは私のような初心者の学習者の方もきっと同じ気持ちであると思うので少しでもお助けになればと思い記事に残します。

目次

1.三項演算子(条件演算子)とは.
2.通常のif文と三項演算子(条件演算子)のif文を比べてみよう.
3.いつ三項演算子(条件演算子)を使うのか.
4.参考文献.

1. 三項演算子(条件演算子)とは

⇨一言で言うとrubyのif文の書き方の1つ.
特徴⇨『:』や『?』を使う.

2. 通常のif文と三項演算子(条件演算子)のif文を比べてみよう

通常のif文.
例.

a = 11. 
if a > 10
   "10より大きい"
else 
  "10以下"
end 
#=> ”10より大きい”

上記のコードを三項演算子(条件演算子)で書くと↓

a = 11 
a > 10 ? "10より大きい" :  "10以下"
#=> ”10より大きい”
a = 11
条件式 ? "条件式の結果がtrueの時の処理": "条件式の結果がfalseの時の処理"

三項演算子[?]の意味は条件式の結果がtrueかfalseどっちなん?と言う意味.
:⇦はtrueの処理とfalseの処理の境界線ぐらいの認識で大丈夫です。お弁当で例えるとバランみたいな役割です。要はtrueの処理はここまで、ここからはfalseの時の処理というのをわかりやすくしている.

また三項演算子(条件演算子)は次のように「if文の結果を変数に代入することも可能」

a = 11
result = a > 10 ?  "10より大きい" :  "10以下"
result #=> ”10より大きい”

上の場合だとtrueの処理が変数resultに代入されている.

3.いつ三項演算子(条件演算子)を使うのか.

if文の中の処理がシンプルな時は三項演算子使った方が読みやすい。なぜなら目線が左から右に動くため読みやすい。普通のif文なら1文読んだら目線が上から下に動きを繰り返し読みづらい。 複雑なif文になるのであれば三項演算子(条件演算子)は読みづらい.

4.参考文献

プロを目指す人のためのRuby入門