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 voulez qu'une méthode ait une solution de repli raisonnable lorsqu'un argument n'est pas fourni. Les valeurs de paramètres par défaut vous permettent de définir ce qu'un paramètre devrait être si l'appelant ne le 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 classiques avec des paramètres par défaut, mais les paramètres avec des valeurs par défaut doivent être placés 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 ne fournir que les informations essentielles, tandis que les détails facultatifs reviennent à des valeurs par défaut raisonnables.

challenge icon

Défi

Facile

Définissez 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 retourner le produit de a et b.

Lisez deux entiers à partir de l'entrée :

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

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

Affichez le résultat de l'appel de la méthode.

Le format d'entrée sera :

  • 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 and 4 :

48

Aide-mémoire

Les valeurs par défaut des paramètres fournissent des valeurs de repli lorsque les arguments ne sont pas fournis. Utilisez le signe = après le nom du paramètre pour définir une valeur par défaut :

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

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

Les paramètres avec des valeurs par défaut doivent être placés après les paramètres sans 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)

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 à la fois 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