Escribir una declaración de una línea en Ruby

Nurudeen Ibrahim 19 septiembre 2023
  1. Escribir una declaración de una línea usando el operador ternario en Ruby
  2. Escribir una declaración de una línea usando solo “if” en Ruby
  3. Escribir una declaración de una línea usando “if-else” en Ruby
  4. Escribir una declaración de una línea usando “unless” en Ruby
  5. Escribir una declaración de una línea usando “unless-else” en Ruby
  6. Escribir una declaración de una línea usando “if-else” con “then”
  7. Escribir una declaración de una línea usando “if-else” con paréntesis
  8. Escribir una declaración de una línea usando “case” para múltiples condiciones
Escribir una declaración de una línea en Ruby

Ruby, conocido por su sintaxis elegante y concisa, proporciona múltiples formas de escribir declaraciones de una línea “if”. En este artículo, discutiremos seis métodos para escribir declaraciones de una línea “if” en Ruby.

Escribir una declaración de una línea usando el operador ternario en Ruby

El uso del operador ternario es similar a cómo se utiliza en otros lenguajes de programación.

Sintaxis:

condition ? do_something_if_condition_is_true : do_another_thing_if_condition_is_false

Código de ejemplo:

# Define a function named 'check_even' that takes a number as an argument.
def check_even(number)

# Use a ternary operator to determine if the number is even or not, and store the result in 'response'.
response = number.even? ? "Yeah, it's even" : "No, it's not"

# Output the 'response' to the console.
puts response
end

# Call the 'check_even' function to check if it's even.
check_even(4)
check_even(5)

Salida:

Yeah, it's even
No, it's not

Escribir una declaración de una línea usando solo “if” en Ruby

Esto es útil cuando quieres hacer algo solo si una condición es verdadera y no hacer nada si la condición es falsa.

Código de ejemplo:

# Define a function named 'increment_with_even' that takes an argument 'n'.
def increment_with_even(n)
  # Initialize a variable 'number' with the value 10.
  number = 10
  # If 'n' is even, increment 'number' by 'n'.
  number += n if n.even?
  # Output the value of 'number' to the console.
  puts number
end

# Call the 'increment_with_even' function with the arguments 4 and 5.
increment_with_even(4)
increment_with_even(5)

Salida:

14
10

Escribir una declaración de una línea usando “if-else” en Ruby

Esto es un “if-else” normal donde especificas una acción si una condición es verdadera y otra acción si es falsa.

Código de ejemplo:

# Define a function named 'check_even' that takes a 'number' as an argument.
def check_even(number)
  # Use a conditional statement to assign 'response' based on whether 'number' is even or not.
  response = if number.even? then "Yeah, it's even" else "No, it's not" end
  # Output the 'response' to the console.
  puts response
end

# Call the 'check_even' function with the arguments 4 and 5 to check if it's even.
check_even(4)
check_even(5)

Salida:

Yeah, it's even
No, it's not

Escribir una declaración de una línea usando “unless” en Ruby

El “unless” es la forma opuesta de “if”. Significa “si no”.

# Define a function named 'increment_with_even' that takes an argument 'n'.
def increment_with_even(n)
  # Initialize a variable 'number' with the value 10.
  number = 10
  # Increment 'number' by 'n' if 'n' is even (unless 'n' is not even).
  number += n unless !n.even?
  # Output the value of 'number' to the console.
  puts number
end

# Call the 'increment_with_even' function with the arguments 4 and 5.
increment_with_even(4)
increment_with_even(5)

Salida:

14
10

El uso de “unless” en el ejemplo anterior no se recomienda. Utiliza esta forma para ilustración.

El “unless” se ve como una declaración negativa. En este caso, no se debe usar en una expresión negativa “!n.even?”, lo que hace que el código sea más difícil de entender.

Escribir una declaración de una línea usando “unless-else” en Ruby

def check_even(number)
  response = unless number.even? then "No, it's not" else "Yeah, it's even" end
  puts response
end

check_even(4)
check_even(5)

Salida:

Yeah, it's even
No, it's not

Escribir una declaración de una línea usando “if-else” con “then”

También puedes usar la palabra clave “then” para crear una declaración de una línea “if-else”.

Sintaxis:

if condition then true_expression else false_expression end

Código de ejemplo:

grade = 85
if grade >= 70 then puts "Pass" else "Fail" end

Salida:

Pass

En este código, se verifica la condición “grade >= 70” y si es verdadera, se ejecuta la expresión verdadera “Pass”; de lo contrario, se ejecuta la expresión falsa “Fail”.

Escribir una declaración de una línea usando “if-else” con paréntesis

Puedes envolver las expresiones entre paréntesis para mayor claridad en una declaración de una línea “if-else”.

Sintaxis:

if condition then (true_expression) else (false_expression) end

Código de ejemplo:

x = 10
puts (x > 5) ? "x is greater than 5" : "x is not greater than 5"

Salida:

x is greater than 5

Este código verifica si “x” es mayor que “5” e imprime el mensaje correspondiente en consecuencia.

Escribir una declaración de una línea usando “case” para múltiples condiciones

Puedes usar la declaración “case” para one-liners concisos cuando tienes varias condiciones para verificar.

Sintaxis:

result = case
         when condition1 then expression1
         when condition2 then expression2
         else default_expression
         end

Código de ejemplo:

number = 7
result = case
         when number < 0 then "Negative"
         when number == 0 then "Zero"
         else "Positive"
         end
puts result

Salida:

Positive

En este ejemplo, se verifica el “number” con múltiples condiciones y el resultado correspondiente se almacena en la variable “result”.