ローイングファンのプログラミング日記

ボート競技やプログラミングについて書きます

後置if

今回は後置ifを使ってコードの行数を減らしてみる。

目次


一般的なif文

一般的なif文の書式。

if 条件
     処理
end


後置if

後置ifの書式。

処理 if 条件


後置ifを使ったコード

コードを書く。

test.rb

results = [
    ["1レーン",""],
    ["2レーン","Bクルー"],
    ["3レーン","Cクルー"],
    ["4レーン","Dクルー"],
    ["5レーン",""],
]
results.each do |result|
    puts "#{result[0]}: #{result[1]}" if result[1] != ""
end


実行結果

2レーン: Bクルー
3レーン: Cクルー
4レーン: Dクルー


コードの説明。

  • 配列の配列をつくって変数に代入する
  • eachメソッドで1つずつ要素(配列)を取りだす
  • 後置if文で出力する
    • 条件の!=は等しくないの意味
    • 上の例は「もしresult[1]が空でない場合は出力」になる


実行結果では1レーンと5レーンが表示されていない。
条件のとおりに処理が実行されている。

後置ifを使うとコードの行数が減る。
処理と条件が単純なときはコードが読みやすくなる。

レース結果を表示するようなとき、空レーンを非表示にするのに便利。

今回の動作確認環境

Ruby 2.4.3p205

macOS 10.13.4
ターミナル 2.8.2

Windows10 1709
Windows PowerShell 5.1