6
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

三項演算子とは???

Last updated at Posted at 2019-06-17

最近暑さが増してきましたね、、、
個人的にはアロハシャツが着れる夏は大好きです:relaxed:

(そんなことは置いといて...)

アプリケーション開発を進めていく中で、三項演算子という便利なツールを見つけたので、分かりやすくまとめていきます!

三項演算子とは???

一言でまとめると、条件分岐を行うための演算子です!

(もっと分かりやすく説明して...):joy:

図を見ながら説明すると理解しやすいと思います!

sample.rb
条件式 ? 真の時の値 : 偽の時の値

条件式を判定して、trueだった時は「真の時の値」を、falseだった時は「偽の時の値」を返します。
条件や返り値がシンプルな場合、if分よりも簡潔に記述できる!

(なるほど!分かりやすい!):relieved:

if文と三項演算子を比較してみましょう!

if文を使った場合

sample.rb
var = "文字列"

if var.class == String
  "varはStringです"
else
  "varはStringではありません"
end

三項演算子を使った場合

sample.rb
var = "文字列"

var.class == String? "varはStringです" : "varはStringではありません"

どちらが簡潔で見やすいかは見比べれば一目瞭然ですよね!!!

これが三項演算子のパワーでございます...

積極的に使っていきたいですね:relaxed:

おまけ(便利な使い方)

値を代入し、三項演算子のメソッドを返り値にしたい場合!

sample.rb
numbers = [5,6,7,8,9,10]
sum = 0

numbers.each do |n|
  sum_value = n.even? ? n * 10 : n
  sum += sum_value
end

puts sum #=> 261

条件式の後に?を付け足すのがポイントです!


以上となります!

ご質問等ございましたら、コメントお気軽にしてください!

ご静聴ありがとうございました!

6
10
0

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
6
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?