Condicionales
Los condicionales le permiten a nuestros programas tomar decisiones cuando se están ejecutando.
Ruby ofrece varias formas para crear condicionales. La sintaxis más simple es la siguiente:
1
if <condición>
2
# código que se ejecuta si se cumple la condición
3
end
Copied!
La <condicion> debe ser algo que evalúe a true o false. Por ejemplo, el siguiente código siempre va a imprimir "Hola Mundo":
1
if true
2
puts "Hola Mundo"
3
end
Copied!
El siguiente código nunca va a imprimir "Hola Mundo":
1
if false
2
puts "Hola Mundo"
3
end
Copied!
El siguiente código sólo va a imprimir "Hola Mundo" si el usuario ingresa "Make it Real" (tienen que ser exacto):
1
text = gets.chomp
2
3
if text == "Make it Real"
4
puts "Hola Mundo"
5
end
Copied!

Else (de lo contrario)

1
if <condición>
2
# código que se ejecuta si se cumple la condición
3
else
4
# código que se ejecuta si no se cumple la condición
5
end
Copied!

Condiciones compuestas

Imagina que queremos escribir un programa que imprima "El número está entre 10 y 20" si el valor de una variable está efectivamente entre 10 y 20. ¿Cómo te imaginas que lo podríamos solucionar?
Una opción es usar condiciones anidadas, de esta forma:
1
num = 15
2
3
if num >= 10
4
if num <= 20
5
puts "El número está entre 10 y 20"
6
end
7
end
Copied!

Operadores lógicos

En Ruby, al igual que en otros lenguajes de programación, se pueden crear condiciones compuestas utilizando Y, O o negación.
La Y se representa con el operador &&. Por ejemplo:
1
num = gets.chomp.to_i
2
3
if num >= 10 && num <= 20
4
puts "El número está entre 10 y 20"
5
end
Copied!
El && sólo evalúa a verdadero si los dos lados de la condición evalúan a verdadero.
EL O se representa con el operador ||. Por ejemplo:
1
color = gets.chomp
2
3
if color == "negro" || color == "blanco"
4
puts "el color es negro o blanco"
5
end
Copied!
La negación se representa con el operador !. Por ejemplo, la siguiente condición sólo se cumple si no es cierto que 5 sea igual a 6:
1
if !(5 == 6)
2
puts "5 es diferente de 6"
3
end
Copied!
En general es preferible evitar la negación si es posible. En este caso podemos mejorar la condición utilizando el operador !=:
1
if 5 != 6
2
puts "5 es diferente de 6"
3
end
Copied!

Tablas de verdad

Cuando escribes && o ||, a cada lado debe ir una expresión booleana (que evalúa a true o false).
Podemos crear tablas para saber cuál sería el resultado para cada cada caso:
Expresión
Resultado
true && true
true
true && false
false
false && true
false
false && false
false
Fíjate que para que el resultado sea true los dos lados del && deben ser true.
Hagamos lo mismo para el o (||):
Expresión
Resultado
`true
true`
true
`true
false`
true
`false
true`
true
`false
false`
false
Con el ó cualquiera de los lados puede ser true para que el resultado sea true.
La negación es más simple:
Expresión
Resultado
!true
false
!false
true
Last modified 3yr ago