English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Ruby ofrece varias estructuras condicionales muy comunes. Aquí, explicaremos todas las sentencias condicionales y los modificadores disponibles en Ruby.
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
!/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
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.
!/usr/bin/ruby $debug=1 print "debug\n" if $debug
El resultado de la salida anterior es:
debug
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.
!/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
code unless condicional
si condicional es falso, ejecutar code.
!/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
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
!/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"