後置ifの使いどころ

単純に見栄えくらいしか変わらんと思っていた後置if後置unlessは、ちゃんと使いどころがある。

下のコードの場合、Xであるか、そうでないかの2パターンしか存在しない。そうした場合、その条件を網羅していることを視覚的に伝えるためには、三項演算子if式を使った方がわかりやすい。

逆に後置if後置unlessを使うような状況としては、『aのパターンだけ特別に違う処理を実行したい』というようなとき。そうしてあげることで、『たまにaのパターンがあるんだな』ということがわかるようになる。

# 修正前のコード
scores.each do |s|
  shots << 10     if     s == 'X'
  shots << s.to_i unless s == 'X'
end

# 修正後のコード 三項演算子ver.
scores.each do |s|
  shots << (s == 'X' ? 10 : s.to_i)
end

# 修正後のコード if式ver.
scores.each do |s|
  shots << if == 'X'
             10
           else
             s.to_i
           end
end