English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Rubyはいくつかの非常に一般的な条件構造を提供しています。ここでは、すべての条件文とRubyで利用できる修飾子を説明します。
if 条件 [then] code... [elsif 条件 [then] code...]... code ]... code...] end
x が 条件実行のための式 false および nil 偽で、他の値はすべて真です。ご注意ください、Rubyはelsifを使用し、else ifやelifを使用しません。
code unless conditional もし if修飾語グループは、ifの右側の条件が成立した場合にのみifの左側の式を実行することを示します。つまりもし が偽の場合、実行unless式とif式は逆の効果を持っており、つまりもし もし が真でない場合、else節で指定された が偽の場合、実行code
が真でない場合、else節で指定された
通常はキーワードの then を省略します。完全な if 式を一行で書き出したい場合は、条件式とプログラムブロックを then で区切る必要があります。以下のようになります: 4 then a = 7 end
!#/usr/bin/ruby # -*- coding: UTF-8 -*- が真の場合、else節で指定された1 if a == 2 puts "x が小さい 2puts "x が大きい if x > 2 elsif x <= and x!=0 1puts "x が大きい else puts "x が end
この行は出力します\n" unless $var
puts "値がわからない x " 1
if
code if condition もし if修飾語グループは、ifの右側の条件が成立した場合にのみifの左側の式を実行することを示します。つまりもし が偽の場合、実行code
!#/usr/bin/ruby が真の場合、実行1 $debug=
この行は出力します\n" unless $var
print "debug\n" if $debug
デバッグ が偽の場合、実行 code ]... [else end
unless conditional [then] もし 条件文 が偽の場合、実行unless式とif式は逆の効果を持っており、つまりもし もし 。もし が偽の場合、実行code
!#/usr/bin/ruby # -*- coding: UTF-8 -*- が真の場合、else節で指定された1 x=2 unless x> 2puts "x が大きい else puts "x が小さい 2puts "x が大きい end
以上の例の出力結果は以下の通りです:
" 2
修飾子
code unless conditional もし 条件文 が偽の場合、実行code
!#/usr/bin/ruby # -*- coding: UTF-8 -*- 。 1 $var = false1 -- $var = $var = false2 -- この行は出力します\n" if $var この行は出力しません\n" unless $var $var = false3 -- print "
この行は出力します\n" unless $var
1 -- 上記の例の出力結果: 3 -- 上記の例の出力結果:
文法 case expression [when expression [, expression ...] [then] code ]... [else end
code ] expression caseはまず
それは一致判定を行い、その結果に基づいてブランチ選択を行います。 ===演算子比較 when 指定された expression、一致すれば実行 when 一部の内容。
通常はキーワードの then を省略します。完全な when 式を一行で書き出したい場合は、条件式とプログラムブロックを then で区切る必要があります。以下のようになります:
when a == 4 then a = 7 end
したがって:
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 # -*- coding: UTF-8 -*- $age = 5 case $age when 0 .. 2 puts "赤ちゃん" when 3 .. 6 puts "子供" when 7 .. 12 puts "child" when 13 .. 18 puts "少年" else puts "他の年齢層" end
以上の例の出力結果は以下の通りです:
子供
caseの"表达式"部分が省略された場合、最初のwhen条件部分が真の表达式が計算されます。
foo = false bar = true quu = false case when foo then puts 'foo is true' when bar then puts 'bar is true' when quu then puts 'quu is true' end # 表示 "bar is true"