if式
ある条件に沿って処理が分かれることを**『条件分岐』**と言います。
if式は条件分岐で使用される制御構造の一つです。
基本の形
if 条件式 then
条件に当てはまった時に行って欲しい動作
end
注意点
endを必ずつけること。endが無いとエラーが出ます。
example
入力
i=5
if i>0 then
puts("#{i}は正の整数です。") #見やすいように、行頭を字下げ(インデント)しておく
end
出力
5は正の整数です。
条件に当てはまらない場合の動作も設定する
先ほどの例では条件に当てはまる場合のみの出力でした。
条件に当てはまらない場合の動作も設定してみましょう。
if ~ elseを使う
そのような場合、else
を使用します。
基本の形
if 条件式 then
条件に当てはまった時に行って欲しい動作
else
条件に当てはまらなかった時に行って欲しい動作
end
- 条件に当てはまった場合の行動をif以下に
- 条件に当てはまらなかった場合の行動をelse以下に記入します
example
入力
puts("数字を入力して下さい")
number = gets.to_i #gets.to_iは1行だけ整数を取得してくれるメソッド
if number>5 then
puts("#{number}は5よりも大きい")
else
puts("#{number}は5以下")
end
出力
数字を入力して下さい
7
7は5よりも大きい
数字を入力して下さい
2
2は5以下
行って欲しい動作が3つ以上
さらに動作を分岐させたいときは、elsif
を使用します。
注意点
elseifではなく、elsif
です。
基本の形
if 条件式1 then
行って欲しい動作
elsif 条件式2 then
行って欲しい動作
else
条件2に当てはまらなかった時に行って欲しい動作
end
example
入力
puts("数字を入力して下さい")
number = gets.to_i
if number>5 then
puts("#{number}は5よりも大きい")
elsif number<5 then
puts("#{number}は5よりも小さい")
else
puts("#{number}です")
end
出力
数字を入力して下さい
7
7は5よりも大きい
数字を入力して下さい
2
2は5よりも小さい
数字を入力して下さい
5
5です
条件が多くなってくると分かりにくいですが、分岐を一つ一つ丁寧に考えていきましょう。