Menu
CoddyTech

Valeurs de paramètres par défaut

Fait partie de la section Fondamentaux du Journey Ruby de Coddy. Leçon 53 sur 88.

Parfois, vous souhaitez qu’une méthode dispose d’une valeur de repli pertinente lorsqu’un argument n’est pas fourni. Les valeurs de paramètre par défaut vous permettent de définir la valeur d’un paramètre si l’appelant ne la précise pas.

Pour définir une valeur par défaut, utilisez le signe = après le nom du paramètre :

def greet(name = "friend")
  puts "Hello, #{name}!"
end

greet("Alice")  # Affiche : Hello, Alice!
greet           # Affiche : Hello, friend!

Lorsque tu appelles greet sans argument, Ruby utilise « friend » par défaut. Lorsque tu fournis un argument, celui-ci remplace la valeur par défaut.

Tu peux mélanger des paramètres ordinaires avec des paramètres par défaut. Les paramètres avec des valeurs par défaut viennent généralement après ceux qui n’en ont pas, et un paramètre ordinaire ne peut pas se trouver entre deux paramètres avec des valeurs par défaut :

def power(base, exponent = 2)
  base ** exponent
end

puts power(5)     # Affiche : 25 (5 au carré)
puts power(2, 3)  # Affiche : 8 (2 au cube)

Cela rend les méthodes plus flexibles. Les appelants peuvent fournir uniquement les informations essentielles, tandis que les détails facultatifs prennent des valeurs par défaut raisonnables.

challenge icon

Défi

Facile

Définis une méthode appelée multiply qui prend deux paramètres : a et b. Le paramètre b doit avoir une valeur par défaut de 1. La méthode doit renvoyer le produit de a et b.

Lis deux entiers depuis l’entrée :

  1. Le premier nombre (sera toujours fourni)
  2. Le deuxième nombre (peut être fourni ou non)

Si une seule entrée est fournie, appelle la méthode avec cet argument uniquement (en utilisant la valeur par défaut de b). Si deux entrées sont fournies, appelle la méthode avec les deux arguments.

Affiche le résultat de l’appel de la méthode.

Le format de l’entrée sera le suivant :

  • Première ligne : le premier nombre
  • Deuxième ligne : soit un nombre, soit le mot none

Par exemple, si les entrées sont 7 et 3 :

21

Si les entrées sont 5 et none :

5

Si les entrées sont 12 et 4 :

48

Essayez vous-même

# Lire l’entrée
a = gets.chomp.to_i
b_input = gets.chomp

# TODO: Définir la méthode multiply avec le paramètre b ayant une valeur par défaut de 1


# TODO: Appeler la méthode selon que b_input vaut "none" ou est un nombre
# Si b_input vaut "none", appeler multiply avec seulement a
# Si b_input est un nombre, appeler multiply avec a et b

# Afficher le résultat
puts result
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Fondamentaux

Entraînez-vous par vous-même : Compilateur Ruby en ligne