ruby if 単純な条件分岐

バイオインフォ道場、くまぞうです。

プログラミングのフロー制御で最も単純なのが「if文」です。条件に「一致したかどうか」という判断に基づいて、実行する処理を変更するときに使います。

if文による条件判断

if文の書き方

if文では複数の条件を判断することができます。上から順に判定されます。追加の条件である「elsif」「else」は必要なときに記述します。また、条件の中に条件を書く「入れ子構造」を書くことができます。尚、「if修飾子」という使い方で、「条件が真の場合に左辺の式を実行」という書き方ができます。この使い方は、ちょっとした条件を簡潔に表現できて便利です。一方で、条件「偽」に着目した「unless」という書き方もあります。

if – elsif – else – end

if 条件
...
elsif 条件2
...
else
...
end

if修飾子

式(条件が真の場合に実行) if 条件

if修飾子と否定

式(条件が否定されたので、偽の場合に実行することになる) if !条件

if文の真偽

Rubyの真偽における「偽」は、「false」または「nil」です。複数の条件をまとめるには、論理演算子「&&」「||」を使います。否定は「!」です。

プログラム

test_if.rb
#! /usr/bin/ruby

aaa = ARGV[0].to_i

abort "exit" if aaa == 0

if aaa==1
  puts "aaa==1 aaa=#{aaa}"
end

if aaa>1
  if aaa>2 && aaa<3
    puts "aaa>2 aaa=#{aaa}"
  elsif aaa>3 && aaa<=5
    puts "aaa>3 aaa=#{aaa}"
  else
    puts "aaa>5 aaa=#{aaa}"
  end
end

スクリプト実行

$ ruby test_if.rb 0
exit
$ ruby test_if.rb 1
aaa==1 aaa=1
$ ruby test_if.rb 4
aaa>3 aaa=4

プログラムについて

「test_if.rb」では、ifの条件を数種類ためしてみました。「変数aaa」が、0のときif修飾子を使ってabortで即座に終了しました。1のときシンプルなifの書き方を使い、1より大きいとき条件を入れ子構造にして更に条件を細かく分岐させました。入れ子内部では、if – elsif – else を使いました。

今回はわざと複数の条件を入れ子にしました。プログラムが複雑になりすぎる場合は、他の制御構造を利用したり・例えば1以下の場合には先にプログラムを完結させるような仕組みで、プログラムがシンプルになるように工夫した方が良いと思います。


スポンサーリンク




ピックアップ記事

  1. R subset関数 データフレームやmatrixからの条件指定による行・列の抽出

    R の subset関数は、データフレームやマトリックスから条件にマッチした部分集合を取り出します…
  2. awk if サンプルでわかる条件文の書き方 一致・大小比較・正規表現を簡潔に書く方法

    awkのif条件文は、条件によって処理をわけたいときに使います。条件式では、0の判定・関係演算子・…
  3. awk for 繰り返し処理 簡単なサンプルでわかる インクリメント・デクリメント、変わった繰り返し

    awkのfor文は、カウンタを目印にして処理を繰り返したいときによく使われます。for文では、カウ…

人気記事

  1. R データ型 - 文字列・ベクター・データフレーム・マトリックス など-, R言語, スクリプト

    R subset関数 データフレームやmatrixからの条件指定による行・列の抽出
    R の subset関数は、データフレームやマトリックスか…
  2. IGV, 解析ツール

    IGV 使い方 インストール〜便利な使い方まで | リファレンス・マッピングデータ・アノテーションを読み込んで表示しよう
    IGV(Integrative Genomics View…
  3. Excel, その他, 統計

    z-score 計算方法 エクセル(Excel) 編
    統計処理で、大きく変化しているなどの判断基準にも使われる値…

おすすめ記事

  1. awk, bash 文字列操作, シェルスクリプト

    bash 部分文字列・置換・長さ・連結・分割の文字列処理
    bashのよく使う文字列処理、部分文字列・置換・連結・長さ…
  2. bash 応用, シェルスクリプト

    シェル スクリプト ファイル存在チェック・空のファイルチェック
    bashでスクリプトを作成するときに、よく使うのがファイル…
  3. R言語, グラフ

    R 使い方 軸・ラベルの調整(向き・サイズ・色など) グラフの描き方
    Rによるplot(グラフ)の描画は、手軽で大変便利です。た…