rubi condicional
Ruby fornece várias construções condicionais comuns. Aqui vamos explicar todas as instruções condicionais e modificadores Rubi disponíveis.
Rubiif ... else
gramática
if conditional [then] code... [elsif conditional [then] code...]... [else code...] end
se aexpressão para a execução condicional. Valorfalseenilcomo falso, outros valores são verdadeiras. Por favor, note, Ruby usar ELSIF, em vez de usar else if e elif.
Se acondiçãofor verdadeira, então ocódigo.Se ocondicionalnão é verdadeira, outra cláusula especificada nocódigoé executado.
Nós geralmente omitir a palavra reservada seguida. Se você quer escrever completa se a fórmula em uma linha, então você deve ser separado por tipo e condições dos blocos de programa. Como se segue:
if a == 4 then a = 7 end
Exemplos
#!/usr/bin/ruby # -*- coding: UTF-8 -*- x=1 if x > 2 puts "x 大于 2" elsif x <= 2 and x!=0 puts "x 是 1" else puts "无法得知 x 的值" end
Exemplos de saída acima:
x 是 1
Rubise modificadores
gramática
code if condition
se a frase significa que, quando modificados apenas se as condições relativas ao direito de estabelecimento, desde a execução de expressão esquerda. Isto é, secondicionalé verdadeira, então ocódigo.
Exemplos
#!/usr/bin/ruby $debug=1 print "debug\n" if $debug
Exemplos de saída acima:
debug
Rubimenos que a instrução
gramática
unless conditional [then] code [else code ] end
a menos que a fórmula que contrasta de ação e se, isto é, se acondiçãofor falsa, então executarcódigo.Se acondiçãofor verdadeira, outra cláusula especificada nocódigoé executado.
Exemplos
#!/usr/bin/ruby # -*- coding: UTF-8 -*- x=1 unless x>2 puts "x 小于 2" else puts "x 大于 2" end
O exemplo acima saída é:
x 小于 2
Rubi,a menos modificadores
gramática
code unless conditional
Se acondiçãofor falsa, executarcódigo.
Exemplos
#!/usr/bin/ruby # -*- coding: UTF-8 -*- $var = 1 print "1 -- 这一行输出\n" if $var print "2 -- 这一行不输出\n" unless $var $var = false print "3 -- 这一行输出\n" unless $var
Exemplos de saída acima:
1 -- 这一行输出 3 -- 这一行输出
exposição do casoRuby
gramática
case expression [when expression [, expression ...] [then] code ]... [else code ] end
expressãocaso de um primeiro jogo juiz, em seguida, sucursal no resultado do jogo.
Ele utiliza o operador=== para comparar aexpressãoquandoespecificado,se consistentes, em seguida, a aplicação do conteúdo quandosecção.
Nós geralmente omitir a palavra reservada seguida. Se você quer escrever completa quando a fórmula em uma linha, então você deve ser separado por tipo e condições dos blocos de programa. Como se segue:
when a == 4 then a = 7 end
Portanto:
case expr0 when expr1, expr2 stmt1 when expr3, expr4 stmt2 else stmt3 end
Substancialmente semelhante:
_tmp = expr0 if expr1 === _tmp || expr2 === _tmp stmt1 elsif expr3 === _tmp || expr4 === _tmp stmt2 else stmt3 end
Exemplos
#!/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
O exemplo acima saída é:
小孩
Quando parte "expressão" do caso é omitido, a condição de cálculo quando uma parte da verdadeira expressão.
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"