Menu
Coddy logo textTech

Valeurs de paramètres par défaut

Fait partie de la section Fondamentaux du Journey R de Coddy — leçon 51 sur 78.

Parfois, vous voulez qu'une fonction ait un comportement « standard » qui peut être personnalisé au besoin. 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 fournit pas.

Vous définissez une valeur par défaut en utilisant = dans la définition de la fonction :

greet <- function(name = "Guest") {
  print(paste("Hello,", name))
}

greet()
greet("Alice")

Sortie :

[1] "Hello, Guest"
[1] "Hello, Alice"

Lorsqu'elle est appelée sans argument, la fonction utilise "Guest" par défaut. Lorsque vous fournissez une valeur, elle remplace la valeur par défaut.

Vous pouvez mélanger des paramètres obligatoires et optionnels. Les paramètres avec des valeurs par défaut doivent être placés après ceux qui n'en ont pas :

calculate_total <- function(price, tax_rate = 0.1) {
  return(price + (price * tax_rate))
}

print(calculate_total(100))
print(calculate_total(100, 0.2))

Sortie :

[1] 110
[1] 120

Ici, price est requis alors que tax_rate vaut par défaut 10 %. Cela rend vos fonctions flexibles - simples à utiliser dans les cas courants, mais personnalisables si nécessaire.

challenge icon

Défi

Facile

Créez une fonction appelée calculate_shipping qui prend deux arguments :

  • weight - le poids du colis (obligatoire)
  • rate - le coût par unité de poids (optionnel, par défaut 5)

La fonction doit retourner le coût d'expédition, calculé comme weight * rate.

Vous recevrez deux lignes d'entrée :

  1. Une valeur de poids
  2. Soit une valeur de taux (rate) OU le mot default

Si la deuxième entrée est default, appelez la fonction avec seulement le poids (en utilisant le taux par défaut). Sinon, appelez la fonction avec le poids et le taux fourni.

Affichez le résultat retourné.

Par exemple, si les entrées sont :

10
default

La sortie devrait être :

[1] 50

Si les entrées sont :

10
3

La sortie devrait être :

[1] 30

Aide-mémoire

Vous pouvez définir des valeurs de paramètres par défaut dans une fonction en utilisant = dans la définition de la fonction :

greet <- function(name = "Guest") {
  print(paste("Hello,", name))
}

greet()           # Utilise la valeur par défaut : "Hello, Guest"
greet("Alice")    # Remplace la valeur par défaut : "Hello, Alice"

Lorsque vous mélangez des paramètres obligatoires et optionnels, placez les paramètres avec des valeurs par défaut après ceux qui n'en ont pas :

calculate_total <- function(price, tax_rate = 0.1) {
  return(price + (price * tax_rate))
}

calculate_total(100)       # Utilise le tax_rate par défaut : 110
calculate_total(100, 0.2)  # tax_rate personnalisé : 120

Essayez vous-même

# Lire l'entrée
con <- file("stdin", "r")
weight <- as.numeric(suppressWarnings(readLines(con, n = 1)))
rate_input <- suppressWarnings(readLines(con, n = 1))
close(con)

# TODO : Écrivez votre code ci-dessous
# 1. Définir la fonction calculate_shipping avec weight (obligatoire) et rate (optionnel, par défaut = 5)
# 2. Vérifier si rate_input est "default" ou un nombre
# 3. Appeler la fonction de manière appropriée et afficher le résultat
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