Tracks
/
Ruby
Ruby
/
Temario
/
Condicionales
Co

Condicionales en Ruby

22 ejercicios

Acerca de Condicionales

Ruby tiene las llamadas expresiones de control de flujo; se utilizan para controlar la forma en que se ejecutará el programa y toman un valor que se evalúa como verdadero o falso. Hay operadores que se pueden usar para crear valores que se evalúan como verdaderos o falsos; se conocen como operadores de comparación.

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

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

Operadores de comparación

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

Operador 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, lo que incluye comprobar el tipo del valor. El operador != funciona de la misma manera, pero devuelve 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:

Operador 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 porque no devuelve un valor que se evalúe como verdadero o falso, sino un número. Se escribe como <=> y se usa para comparar 2 valores. Devuelve 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

Instrucción if

La instrucción if se utiliza para comprobar si una condición dada es «verdadera» o «falsa». Si la condición es verdadera, se ejecutará el código dentro de la instrucción if. Una instrucción 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

Instrucción unless

La instrucción unless funciona de manera muy similar a la instrucción if, pero ejecutará el código dentro de la instrucción unless si la condición es falsa.

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"

Instrucción else

La instrucción else se puede usar junto con la instrucción if. La instrucción 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 encadenados

La instrucción elsif se puede usar junto con la instrucción if. La instrucción elsif se ejecutará si no se ejecuta la rama if y la condición de la instrucción elsif es verdadera. Las instrucciones elsif se pueden encadenar y se ejecutará la primera condición que sea verdadera. También puede haber una instrucción else al final de la instrucción if, que se ejecutará si ninguna de las instrucciones anteriores ha sido 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

Las instrucciones if y 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 la instrucción 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 nueva ventana o pestaña

Aprende Condicionales

La práctica está bloqueada

Desbloquea 10 ejercicios más para practicar Condicionales