Contents

Ruby – if else、case、unless~RUBY入門〜RUBYTUTORIAL〜
Ruby if … elseステートメント
構文
if conditional [then] code... [elsif conditional [then] code...]... [else code...] end
falseとnilの値はfalseで、その他はすべてtrueです。
条件が真であればコードを実行します。場合は、条件が真ではありません、コード else句で指定が実行されます。
if式の条件は、予約語によってコードから分離され、次に、改行、またはセミコロン。
例
#!/usr/bin/ruby x = 1 if x > 2 puts "x は 2 より大きい" elsif x <= 2 and x!=0 puts "x は 1" else puts "わかりません。" end
x は 1
Ruby ifモディファー
構文
code if condition
条件が真であればコードを実行します。
例
#!/usr/bin/ruby $debug = 1 print "debug\n" if $debug
これにより、次の結果が生成されます。
debug
ステートメント以外のRuby
構文
unless conditional [then] code [else code ] end
conditionalがfalseの場合にコードを実行します。conditionalがtrueの場合、else節で指定されたコードが実行されます。
例
#!/usr/bin/ruby x = 1 unless x>=2 puts "x は 2 より少ない" else puts "x は 2 より大きい" end
これにより、次の結果が生成されます。
x は 2 より少ない
修飾子以外のRuby
構文
code unless conditional
conditionalがfalseの場合にコードを実行します。
例
#!/usr/bin/ruby $var = 1 print "1 -- Value is set\n" if $var print "2 -- Value is set\n" unless $var $var = false print "3 -- Value is set\n" unless $var
これにより、次の結果が生成されます。
1 -- Value is set 3 -- Value is set
Ruby caseステートメント
構文
case expression [when expression [, expression ...] [then] code ]... [else code ] end
caseで指定された式と===演算子で指定された式を比較し、一致するwhen句のコードを実行します。
表現するとき句で指定された物が、左のオペランドとして評価されます。when節が一致しない場合、caseはelse節のコードを実行します。
case expr0 when expr1, expr2 stmt1 when expr3, expr4 stmt2 else stmt3 end
基本的には以下のようになります –
_tmp = expr0 if expr1 === _tmp || expr2 === _tmp stmt1 elsif expr3 === _tmp || expr4 === _tmp stmt2 else stmt3 end
例
#!/usr/bin/ruby $age = 5 case $age when 0 .. 2 puts "赤ちゃん" when 3 .. 6 puts "お子ちゃま" when 7 .. 12 puts "子供" when 13 .. 18 puts "ヤング" else puts "大人" end
これにより、次の結果が生成されます。
お子ちゃま
前のページ⑥Ruby – コメント~RUBY入門〜RUBYTUTORIAL〜
次のページ