English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
O Ruby oferece várias estruturas condicionais comuns. Aqui, explicaremos todas as declarações condicionais e os modificadores disponíveis no Ruby.
se condicional [então] code... [se condicional [então] code...]... [else code...] fim
if A expressão é usada para execução condicional. Valor falso e nil Falso, todos os outros valores são verdadeiros. Por favor, note que o Ruby usa elsif, não else if e elif.
se condicional se for verdadeiro, execute code. Se condicional não for verdadeiro, execute a cláusula else especificada code.
Normalmente, omitimos a palavra-chave then. Se quisermos escrever uma expressão if completa em uma linha, devemos usar then para separar a expressão condicional do bloco de código. Veja o exemplo a seguir:
if a == 4 then a = 7 fim
!#/usr/bin/ruby # -*- coding: UTF-8 -*- x=1 if x > 2 puts "x é maior que 2" elsif x <= 2 e x!=0 puts "x é 1" senão puts "Não é possível saber o valor de x" fim
O resultado da saída do exemplo acima é:
x é 1
code if condition
a palavra-chave if indica que a expressão à esquerda deve ser executada apenas se a condição à direita for cumprida. Ou seja, se condicional se for verdadeiro, execute code.
!#/usr/bin/ruby $debug=1 print "debug\n" if $debug
O resultado da saída do exemplo acima é:
debug
unless condicional [then] code [else code ] fim
a expressão unless e a expressão if têm o efeito oposto, ou seja, se condicional se for falso, execute code. Se condicional se for verdadeiro, execute a cláusula else especificada code.
!#/usr/bin/ruby # -*- coding: UTF-8 -*- x=1 unless x>2 puts "x é menor que 2" senão puts "x é maior que 2" fim
O resultado da saída do exemplo acima é:
x é menor que 2
code unless condicional
se condicional se for falso, execute code.
!#/usr/bin/ruby # -*- coding: UTF-8 -*- $var = 1 print "1 -- esta linha imprime " if $var print "2 -- esta linha não imprime " unless $var $var = false print "3 -- esta linha imprime " unless $var
O resultado da saída do exemplo acima é:
1 -- esta linha imprime 3 -- esta linha imprime
case expressão [when expressão [, expressão ...] [then] code ]... [else code ] fim
case para um expressão para fazer a correspondência e, em seguida, realizar a seleção de ramificação com base no resultado da correspondência.
ele usa ===comparação de operadores quando especificada expressãose coincidir, execute quando parte do conteúdo.
Normalmente, omitimos a palavra-chave then. Se quisermos escrever uma expressão when completa em uma linha, devemos usar then para separar a expressão condicional do bloco de código. Veja o exemplo a seguir:
when a == 4 then a = 7 fim
Portanto:
case expr0 when expr1, expr2 stmt1 when expr3, expr4 stmt2 senão stmt3 fim
Basicamente, é semelhante a:
_tmp = expr0 if expr1 === _tmp || expr2 === _tmp stmt1 elsif expr3 === _tmp || expr4 === _tmp stmt2 senão stmt3 fim
!#/usr/bin/ruby # -*- coding: UTF-8 -*- $age = 5 caso $age quando 0 .. 2 puts "Bebezinho" quando 3 .. 6 puts "Criança" quando 7 .. 12 puts "child" quando 13 .. 18 puts "Jovem" senão puts "Outras idades" fim
O resultado da saída do exemplo acima é:
Criança
Quando a parte "expressão" do caso é omitida, calcula-se a primeira expressão de condição quando a condição de when for verdadeira.
foo = false bar = true quu = false caso quando foo então puts 'foo é verdadeiro' quando bar então puts 'bar é verdadeiro' quando quu então puts 'quu é verdadeiro' fim # Mostrar "bar é verdadeiro"