条件文
- 編集部の見解や意向と異なる内容の場合があります
- 編集部は内容について正確性を保証できません
- 画像が表示されない場合、編集部では対応できません
- 内容の追加・修正も編集部では対応できません
ヒューマンリソシア株式会社はコラム「条件文」を公開しました。
ifとunless文
Rubyの条件文にしても簡単に表現できる工夫が色々と込められていますので見て行きましょう。
条件に合えば、文字列を標準出力に出力するプログラムの例です。他のプログラム言語でも通用する一般的な書き方をするとリスト1のようになると思います。でも、Rubyのシンプルな書き方をするとリスト2のようになります。
リスト1
is_print = true
if is_print == true then
puts “ABC”
end
リスト2
is_print = true
puts “ABC” if is_print
プログラム事例
では、もう少し複雑な例を見てみましょう。ファイルを読み込んでコメント行以外は表示するというプログラムとします。リスト3はC言語などののプログラミング言語でも同じロジックで記述できると思います。ファイルを一行ずつ読み込んで先頭行にコメントが無ければ表示するというロジックになります。
リスト4は2行目でファイルオープン、全部読み込み、改行区切りとして配列を返すまでを行なっています。その後3行目で、条件に合えば出力するといった操作を行なっています。更にリスト5では、selectを利用することにより配列の条件を記載して、条件にあったものだけを返すという処理をしていますので、たった2行で処理できています。リスト5まで行くと美しさよりもわかりにくさのほうが先立つと思いますので通常はリスト4ぐらいまでの記述で止めておいたほうがいいかもしれません。(注:リスト5のselectメソッド内では、unlessは利用できませんので、否定演算子!を利用しています。)
この続きは以下をご覧ください
http://resocia.jp/column/62/
ソーシャルもやってます!