はじめに
チェリー本を読んでて疑問に思ったこと、備忘含めて書こうと思いました。
三項演算子ってなに
三項演算子(条件演算子)はある条件に基づいて異なる値を返すための方法です。
三項演算子の構造を見てみる
チェリー本に以下のサンプルコードが書いてあり
sum_value = n.even? ? n * 10:nの部分が三項演算子を使っています。
even? ?で自分も??状態でした。
numbers = [1,2,3,4]
sum = 0
numbers.each do |n|
sum_value = n.even? ? n * 10 : n
sum += sum_value
end
三項演算子の書き方
条件 ? 条件が真のときの値 : 条件が偽のときの値
even?は偶数ならTure, 奇数ならFalseを返す関数です。
つまり
nが偶数なら n * 10
nが奇数なら n を返すといった処理になっています。
上記処理の結果は64となります。