Home » ruby » ruby if文による条件分岐の方法

ruby if文による条件分岐の方法

rubyによるif文

プログラミングの基礎中の基礎の

if文はプログラミングにとって肝になる部分です。

今回は、

if文による条件分岐を駆使した

プログラミングをしていきたいとおもいます。

rubyでのif文は下記のようになっています。

# if文のみの場合
if [条件文] then
    条件文がtrueの場合に実行するコード
end

# if,elsif文を使用する場合
if [条件文] then
    条件文がtrueの場合に実行するコード
elsif [条件文] then # 条件文を追加する場合はelsifを使用する
    条件文がtrueの場合に実行するコード
end

# if,elsif,else文を使用する場合
if [条件文] then
    条件文がtrueの場合に実行するコード
elsif [条件文] then # 条件文を追加する場合はelsifを使用する
    条件文がtrueの場合に実行するコード    
else # if文またはelsif文がtrueではないときに実行
    条件文がtrueの場合に実行するコード
end

実際にif文を使ってコードを書いてみます。

i = 9

if i == 9 then # iが9の場合出力
    print("9が出力されました。")
elsif i == 10 then # iが10の場合出力
    print("10が出力されました。")
else # iが9や10でないときに出力。
    print("9でも10でもない")
end

#=> 9が出力されました

上記のようにコードを実行することもできます。
ifやelsifの後にthenというものがありますが、
これはあってもなくてもエラーなく動作しますが、
後で振り返るときにthenがあることによって
目印になるので書いておいたほうがいいとおもいます。

 

if文のネスト(入れ子)の実装

イメージ図

親のif文と子のif文があるコードを書いた場合、
親のif文がtrueになれば子のif文を評価されますが、
親のif文がfalseの場合は子のif文を評価せずに
スルーされます。
これがif文のネストです。

i = rand(5) +1 # 乱数の作成 代入

if i > 0 then # i が 0より多ければtrue
    # 親のif文がtrueの場合実行されるif文
    if i == 1 then
        puts("1が出力されました。")
    elsif i == 2 then
        puts("2が出力されました。")
    elsif i == 3 then
        puts("3が出力されました。")
    elsif i == 4 then
        puts("4が出力されました。")
    elsif i == 5 then
        puts("5が出力されました。")
    else
        puts("1~5の間の数字ではない")
    end    
end

puts i

#=> 4が出力されました。
#=> 4

上記のネストのif文は開発になってくると
重宝するとおもいます。

コメントを残す

%d人のブロガーが「いいね」をつけました。