roy > naoya > 基礎プログラミングI·情報検索 > (3)演算子・制御構造[1] > 補足

(3) 04/28の授業内容:演算子・制御構造[1]補足

条件判断(1):if-then-elsif-else-end

elsifの用法

if文は条件が3つ以上の場合にはelsifを複数回使用するが、具体的には以下のとおりとなる。

if 条件A then #=>条件Aを満たせば(thenは省略可)
  処理A    #=>処理Aを実施する
elsif 条件B  #=>条件Aを満たさない場合条件Bを満たせば
  処理B    #=>処理Bを実施する
elsif 条件C  #=>条件Bを満たさない場合条件Cを満たせば
  処理C    #=>処理Cを実施する
elsif 条件D  #=>条件Cを満たさない場合条件Dを満たせば
  処理D    #=>処理Dを実施する
else       #=>条件Dを満たさない場合は
  処理E    #=>処理Eを実施する
end

このようにelsifは何度でも繰り返し利用できる。

elseの省略

条件を満たす場合のみ何らかの処理を実施し、満たさない場合には何もしないこともある。例えば、募金額が100円以下の場合は「それっぽっちか」というが、100円を超える場合には何も言わないというような場面がある。この場合ifの横に書く条件は、「募金額が100円以下」であり、この条件を満たす場合には「これっぽっちか」と表示する。しかし、この条件を満たさない場合としてelseをその次に書いても、特に何もしないのでelseの下に書くことがない。このような場合elseを省略することができる。

上記の例ではelseが不要になる(フローチャートで表現)

elseを省略したプログラムの例を以下に示す(bokin.rb)。

#!/usr/koeki/bin/ruby

print"募金お願いします(金額を入力)\n"
bokin = gets.chomp!.to_i

if bokin <= 100
  print"たったそれっぽっちか。\n"
end

print"どうもありがとうございました。\n"
irsv{c10xxxx}% ruby bokin.rb[Return]
募金お願いします(金額を入力)
1000[Return]
どうもありがとうございました。
irsv{c10xxxx}% ruby bokin.rb[Return]
募金お願いします(金額を入力)
100[Return]
たったそれっぽっちか。
どうもありがとうございました。