#はじめに
毎日、Rubyの問題を解いている中で、if文を使うことが圧倒的に多いので、考え方をまとめておく。
##if文を使う時に考えたいこと
- 戻り値が真偽値かどうか
- 条件文の順番
- elseを追加するかどうか
###1. 戻り値が真偽値かどうか
条件文には、真偽値が入るようなものでなければならない。
例えば、
str = "abc"
if str.include?("a")
puts "OK"
end
if str
puts "NG"
end
include?メソッド
は引数にしたものがあれば、true
をなければ、false
を返す。
そのため、一つめのif文ではa
があるため、true
が返り、処理が実行される。
しかし、二つめのif文では条件文のところがただの変数のため、うまくいかない。
条件文がtrueかfalseの判断をするメソッドか考える
###2. 条件文の順番
if 条件文1
#条件文1がtrueのときの処理
elsif 条件文2
#条件文2がtrueのときの処理
else
#条件文1と条件文2のどちらにも当てはまらない時の処理
end
条件文を書く順番はとっても大事!
上から順番にコードが読まれるため、条件文2は条件文1がtrueのときには読み込まれることがない。
###3. elseを追加するかどうか
どの条件にも当てはまらないときに処理をしたいなら、つける。条件文が一つだけで、その処理をするかどうかだけでよければ、else
は付けなくても大丈夫。