Tracks
/
Ruby
Ruby
/
Temario
/
Condicionales
Co

Condicionales en Ruby

22 ejercicios

Acerca de Condicionales

Ruby tiene lo que se conoce como expresiones de control de flujo; estas se usan para controlar la forma en que se ejecutará el programa y toman un valor truthy o falsey. Existen operadores que se pueden usar para crear valores truthy o falsey; estos se conocen como operadores de comparación.

Hay dos expresiones de control principales que se usan para controlar qué código se ejecutará y qué código no. Es decir, cuál de las ramas se ejecutará.

Esas dos son: la expresión if y la expresión unless.

Operadores de comparación

Los operadores de comparación se usan para comparar valores y devolver un valor true o false. Los siguientes operadores requieren que se comparen dos valores del mismo tipo. Si los valores no son del mismo tipo, el compilador lanzará un error. Aquí tienes una lista de los operadores y un ejemplo de cuándo dan un valor true:

Método Descripción Ejemplo
< menor que 4 < 5
<= menor o igual que 4 <= 4
> mayor que 3 > 1
>= mayor o igual que 2 >= 2

Los operadores de igualdad y desigualdad se pueden usar para comparar cualquier tipo de valor, a diferencia de los operadores ya mencionados. El operador == se usa para comprobar si dos valores son iguales, y eso incluye comprobar el tipo del valor. El != funciona de la misma manera, pero devolverá true si los valores no son iguales y false si son iguales. Aquí tienes una lista de los operadores de igualdad y desigualdad y un ejemplo de cuándo dan un valor true:

Método Descripción Ejemplo
== igual 4 == 4
!= distinto 5 != 4

Operador de comparación combinado

El operador de comparación combinado (a veces llamado operador nave espacial) es un operador de comparación especial. Es especial en el sentido de que no devuelve un valor truthy o falsey, sino que devuelve un número. Se escribe como <=> y se usa para comparar 2 valores. Devolverá 1 si el valor de la izquierda es mayor que el de la derecha, -1 si el valor de la izquierda es menor que el de la derecha, y 0 si los valores son iguales.

1 <=> 2 # => -1
2 <=> 2 # => 0
3 <=> 2 # => 1

El condicional if

El condicional if se usa para comprobar si una condición dada es «truthy» o «falsey». Si la condición es truthy, se ejecutará el código que está dentro del condicional if. Un condicional if termina con la palabra clave end.

value = 1
if value == 1
  "1 is equal to 1"
end
# => "1 is equal to 1"

if value > 2
  "1 is greater than 2"
end
# => nil

El condicional unless

El condicional unless funciona de manera muy similar al condicional if, pero ejecutará el código que está dentro del condicional unless si la condición es falsey.

value = 1
unless value == 1
  "1 is not equal to 1"
end
# => nil

unless value > 2
  "1 is not greater than 2"
end
# => "1 is not greater than 2"

El condicional else

El condicional else se puede usar junto con el condicional if. El condicional else se ejecutará si no se ejecuta la rama if.

value = 1
if value == 1
  "1 is equal to 1"
else
  "1 is not equal to 1"
end
# => "1 is equal to 1"

if value > 2
  "1 is greater than 2"
else
  "1 is not greater than 2"
end
# => "1 is not greater than 2"

Condicionales «if en cascada»

El condicional elsif se puede usar junto con el condicional if. El condicional elsif se ejecutará si no se ejecuta la rama if y la condición del condicional elsif es truthy. Los condicionales elsif se pueden encadenar y se ejecutará la primera condición que sea truthy. También puede haber un condicional else al final del condicional if, que se ejecutará si ninguna de las condiciones anteriores fue verdadera.

value = 1
if value == 0
  "1 is equal to 0"
elsif value > 2
  "1 is greater than 2"
else
  "1 is not equal to 0 and 1 is not greater than 2"
end
# => "1 is not equal to 0 and 1 is not greater than 2"

if y unless como sufijo

El condicional if y el condicional unless también se pueden usar como [sufijo][if-as-suffix]; esto es útil cuando quieres ejecutar una sola línea de código si una condición es verdadera. Se hace colocando el condicional if o unless después del código que quieres ejecutar.

value = 1
"1 is equal to 1" if value == 1
# => 1 is equal to 1

"1 is not equal to 1" unless value == 1
# => nil
Editar en GitHub El enlace se abre en una ventana o pestaña nueva

Aprende Condicionales

La práctica está bloqueada

Desbloquea 10 ejercicios más para practicar Condicionales