Menu
Coddy logo textTech

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 remplacement pertinente lorsqu’un argument n’est pas fourni. Les valeurs par défaut des paramètres vous permettent de définir la valeur d’un paramètre lorsque l’appelant ne la spécifie 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 vous appelez greet sans argument, Ruby utilise « friend » par défaut. Lorsque vous fournissez un argument, celui-ci remplace la valeur par défaut.

Vous pouvez mélanger des paramètres ordinaires avec des paramètres par défaut, mais les paramètres avec des valeurs par défaut doivent venir après ceux qui n’en ont pas :

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 utilisent des valeurs par défaut raisonnables.

challenge icon

Défi

Facile

Définissez une method appelée multiply qui accepte deux parameter : a et b. Le parameter b doit avoir une valeur par défaut de 1. La method doit renvoyer le produit de a et de b.

Lisez deux entiers depuis l'input :

  1. Le premier number (sera toujours fourni)
  2. Le second number (peut être fourni ou non)

Si un seul input est fourni, appelez la method avec uniquement cet argument (en utilisant la valeur par défaut de b). Si deux input sont fournis, appelez la method avec les deux arguments.

Affichez le result de l'appel de la method.

Le format de l'input sera le suivant :

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

Par exemple, si les input sont 7 et 3 :

21

Si les input sont 5 et none :

5

Si les input 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 de manière appropriée selon que b_input est "none" ou un nombre
# Si b_input est "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