Ruby - si ... si no, caso, a menos que

Ruby ofrece estructuras condicionales que son bastante comunes en los lenguajes modernos. Aquí, explicaremos todas las declaraciones condicionales y modificadores disponibles en Ruby.

Declaración de ruby ​​if ... else

Sintaxis

if conditional [then]
   code...
[elsif conditional [then]
   code...]...
[else
   code...]
end

si las expresiones se utilizan para la ejecución condicional. Los valores false y nil son falsos y todo lo demás es verdadero. Note que Ruby usa elsif, no else if ni elif.

Ejecuta código si el condicional es verdadero. Si el condicional no es verdadero, se ejecuta el código especificado en la cláusula else.

El condicional de una expresión if está separado del código por la palabra reservada then , una nueva línea o un punto y coma.

Ejemplo

#!/usr/bin/ruby

x = 1
if x > 2
   puts "x is greater than 2"
elsif x <= 2 and x!=0
   puts "x is 1"
else
   puts "I can't guess the number"
end
x is 1

Ruby si modificador

Sintaxis

code if condition

Ejecuta código si el condicional es verdadero.

Ejemplo

#!/usr/bin/ruby

$debug = 1
print "debug\n" if $debug

Esto producirá el siguiente resultado:

debug

Ruby a menos que Statement

Sintaxis

unless conditional [then]
   code
[else
   code ]
end

Ejecuta código si condicional es falso. Si el condicional es verdadero, se ejecuta el código especificado en la cláusula else.

Ejemplo

#!/usr/bin/ruby

x = 1 
unless x>=2
   puts "x is less than 2"
 else
   puts "x is greater than 2"
end

Esto producirá el siguiente resultado:

x is less than 2

Ruby a menos que modifique

Sintaxis

code unless conditional

Ejecuta código si condicional es falso.

Ejemplo

#!/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

Esto producirá el siguiente resultado:

1 -- Value is set
3 -- Value is set

Declaración de caso de Ruby

Sintaxis

case expression
[when expression [, expression ...] [then]
   code ]...
[else
   code ]
end

Compara la expresión especificada por mayúsculas y minúsculas y la especificada por cuando se usa el operador === y ejecuta el código de la cláusula when que coincide.

La expresión especificada por la cláusula when se evalúa como el operando izquierdo. Si no coinciden las cláusulas when, case ejecuta el código de la cláusula else .

Una cuando la expresión de la declaración se separa de código por la palabra reservada entonces, una nueva línea o un punto y coma. Así

case expr0
when expr1, expr2
   stmt1
when expr3, expr4
   stmt2
else
   stmt3
end

es básicamente similar a lo siguiente:

_tmp = expr0
if expr1 === _tmp || expr2 === _tmp
   stmt1
elsif expr3 === _tmp || expr4 === _tmp
   stmt2
else
   stmt3
end

Ejemplo

#!/usr/bin/ruby

$age =  5
case $age
when 0 .. 2
   puts "baby"
when 3 .. 6
   puts "little child"
when 7 .. 12
   puts "child"
when 13 .. 18
   puts "youth"
else
   puts "adult"
end

Esto producirá el siguiente resultado:

little child