後置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