English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Judgmentes condicionales de Ruby

Ruby ofrece varias estructuras condicionales muy comunes. Aquí, explicaremos todas las sentencias condicionales y los modificadores disponibles en Ruby.

Ruby if...else instrucción

sintaxis

if condicional [entonces
      code...
elsif condicional [entonces
      code...]...
[else
      code...]
final

if La expresión se utiliza para la ejecución condicional. Valor falso y nulo Falso, todos los otros valores son verdaderos. Por favor, tenga en cuenta que Ruby utiliza elsif, no else if ni elif.

si condicional es verdadero, ejecutar code. Si condicional no es verdadero, ejecutar la cláusula else especificada code.

Normalmente omitimos la palabra reservada then. Si deseamos escribir el if completo en una sola línea, debemos separar la condición de la sección de código con then. Ejemplo:

if a == 4 then a = 7 final

Ejemplo en línea

!/usr/bin/ruby
# -*- coding: UTF-8 -*-
 
x=1
if x > 2
   puts "x es mayor que 2"
elsif x <= 2 y x!=0
   puts "x es 1"
else
   puts "No se puede determinar el valor de x"
final

El resultado de la salida anterior es:

x es 1

Ruby if modificador

sintaxis

code if condition

El grupo de modificador if indica que la expresión a la izquierda se ejecuta solo cuando la condición a la derecha es verdadera. Es decir, si condicional es verdadero, ejecutar code.

Ejemplo en línea

!/usr/bin/ruby
 
$debug=1
print "debug\n" if $debug

El resultado de la salida anterior es:

debug

Ruby unless instrucción

sintaxis

unless condicional [then]
   code
[else
   code ]
final

la expresión unless y if actúan de manera opuesta, es decir, si condicional es falso, ejecutar code. Si condicional es verdadero, ejecutar la cláusula else especificada code.

Ejemplo en línea

!/usr/bin/ruby
# -*- coding: UTF-8 -*-
 
x=1
unless x>2
   puts "x es menor que 2"
 else
  puts "x es mayor que 2"
final

El resultado de salida del ejemplo anterior es:

x es menor que 2

Ruby unless modificador

sintaxis

code unless condicional

si condicional es falso, ejecutar code.

Ejemplo en línea

!/usr/bin/ruby
# -*- coding: UTF-8 -*-
 
$var =  1
print "1 -- Esta línea produce
" if $var
print "2 -- Esta línea no produce
" unless $var
 
$var = false
print "3 -- Esta línea produce
" unless $var

El resultado de la salida anterior es:

1 -- Esta línea produce
3 -- Esta línea produce

Ruby case instrucción

sintaxis

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

case primero para expression para hacer coincidir, luego realiza la elección de ramificación según el resultado de la coincidencia.

Usa ===comparación de operadores when especificado expression,si coinciden, ejecutar when Contenido parte.

Normalmente omitimos la palabra reservada then. Si deseamos escribir elwhen completo en una sola línea, debemos separar la condición de la sección de código con then. Ejemplo:

when a == 4 then a = 7 final

Por lo tanto:

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

Básicamente es similar a:

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

Ejemplo en línea

!/usr/bin/ruby
# -*- coding: UTF-8 -*-
 
$age =  5
case $age
when 0 .. 2
    puts "bebé"
when 3 .. 6
    puts "niño"
when 7 .. 12
    puts "niño"
when 13 .. 18
    puts "Joven"
else
    puts "Otras edades"
final

El resultado de salida del ejemplo anterior es:

Niño

Cuando se omite la parte "expresión" de case, se calcula la expresión de condición when que es verdadera en primer lugar.

foo = false
bar = true
quu = false
 
case
when foo then puts 'foo es verdadero'
when bar then puts 'bar es verdadero'
when quu then puts 'quu es verdadero'
final
# Mostrar "bar es verdadero"