Écrire une déclaration One Line if en Ruby

Nurudeen Ibrahim 19 septembre 2023
  1. Écrire une déclaration en une ligne en utilisant l’opérateur ternaire en Ruby
  2. Écrire une déclaration en une ligne en utilisant seulement if en Ruby
  3. Écrire une déclaration en une ligne en utilisant if-else en Ruby
  4. Écrire une déclaration en une ligne en utilisant unless en Ruby
  5. Écrire une déclaration en une ligne en utilisant unless-else en Ruby
  6. Écrire une déclaration en une ligne en utilisant if-else avec then
  7. Écrire une déclaration en une ligne en utilisant if-else avec des parenthèses
  8. Écrire une déclaration en une ligne en utilisant case pour plusieurs conditions
Écrire une déclaration One Line if en Ruby

Ruby, connu pour sa syntaxe élégante et concise, offre plusieurs façons d’écrire des déclarations One Line if en une ligne. Dans cet article, nous discuterons de six méthodes pour écrire des déclarations One Line if en une ligne en Ruby.

Écrire une déclaration en une ligne en utilisant l’opérateur ternaire en Ruby

L’utilisation de l’opérateur ternaire est similaire à son utilisation dans d’autres langages de programmation.

Syntaxe :

condition ? do_something_if_condition_is_true : do_another_thing_if_condition_is_false

Code exemple :

# 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)

Sortie :

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

Écrire une déclaration en une ligne en utilisant seulement if en Ruby

C’est utile lorsque vous voulez faire quelque chose seulement si une condition est vraie et ne rien faire si la condition est fausse.

Code exemple :

# 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)

Sortie :

14
10

Écrire une déclaration en une ligne en utilisant if-else en Ruby

Il s’agit d’un if-else classique où vous spécifiez une action si une condition est vraie et une autre action si elle est fausse.

Code exemple :

# 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)

Sortie :

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

Écrire une déclaration en une ligne en utilisant unless en Ruby

Unlessest la forme opposée deif. Cela signifie si ce n'est pas le cas

# 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)

Sortie :

14
10

L’utilisation de unless dans l’exemple ci-dessus n’est pas recommandée. Utilisez cette méthode à des fins illustratives.

Unlessest considéré comme une déclaration négative. Dans ce cas, il ne devrait pas être utilisé sur une expression négative!n.even?, ce qui rend le code plus difficile à comprendre.

Écrire une déclaration en une ligne en utilisant 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)

Sortie :

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

Écrire une déclaration en une ligne en utilisant if-else avec then

Vous pouvez également utiliser le mot-clé then pour créer une déclaration if-else en une ligne.

Syntaxe :

if condition then true_expression else false_expression end

Code exemple :

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

Sortie :

Pass

Dans ce code, la condition grade >= 70 est vérifiée, et si c’est vrai, l’expression vraie "Pass" est exécutée ; sinon, l’expression fausse "Fail" est exécutée.

Écrire une déclaration en une ligne en utilisant if-else avec des parenthèses

Vous pouvez mettre les expressions entre parenthèses pour plus de clarté dans une déclaration if-else en une ligne.

Syntaxe :

if condition then (true_expression) else (false_expression) end

Code exemple :

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

Sortie :

x is greater than 5

Ce code vérifie si x est supérieur à 5 et affiche le message correspondant en conséquence.

Écrire une déclaration en une ligne en utilisant case pour plusieurs conditions

Vous pouvez utiliser l’instruction case pour des déclarations concises en une ligne lorsque vous avez plusieurs conditions à vérifier.

Syntaxe :

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

Code exemple :

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

Sortie :

Positive

Dans cet exemple, le nombre est vérifié par rapport à plusieurs conditions, et le résultat correspondant est stocké dans la variable résultat.