#演算子の優先順位
上から順に優先度が高くなってくる(!の上にもまだ存在する)
高い !
&&
||
not
= (+=, -= ...)
低い and or
例)!,not と || の関係性
! の方が || より優先度が高いので、3行目は true となる
|| の方が not より優先度が高いので、4行目は false となる
a = true
b = false
!a || b #=> true
not a || b #=> false
※and や or は条件分岐で使うのではなく、制御フローを扱うのに向いている
条件演算子(三項演算子)
if文での記述
a = 5
if a > 1
'1より大きい'
else
'1以下'
end
#=> "1より大きい"
上記のコードを条件演算子に書き直すことができる
式 ? 真だった場合の処理 : 偽だった場合の処理
a = 5
a > 1 ? '1より大きい' : '1以下'
#=> "1より大きい"
さらに、条件分岐した結果を変数に代入することもできる
a = 5
number = a > 1 ? '1より大きい' : '1以下'
number #=> "1より大きい"