Valeurs de retour
Fait partie de la section Fondamentaux du Journey R de Coddy — leçon 48 sur 78.
Jusqu'à présent, nos fonctions ont affiché la sortie directement. Mais souvent, vous voulez qu'une fonction calcule une valeur et la renvoie afin que vous puissiez l'utiliser ailleurs dans votre code. C'est là que les valeurs de retour interviennent.
Utilisez la fonction return() pour renvoyer une valeur depuis votre fonction :
add <- function(a, b) {
return(a + b)
}
result <- add(5, 3)
print(result)Sortie :
[1] 8Au lieu d'afficher à l'intérieur de la fonction, nous retournons la somme. La valeur retournée peut ensuite être stockée dans une variable, utilisée dans des calculs ou passée à d'autres fonctions.
Cela rend les fonctions beaucoup plus polyvalentes :
double <- function(x) {
return(x * 2)
}
print(double(5) + double(3))Sortie :
[1] 16En R, si vous n'utilisez pas return(), la fonction retourne automatiquement la dernière expression évaluée. Cependant, utiliser return() explicitement rend votre code plus clair et est particulièrement utile lorsque vous souhaitez quitter une fonction prématurément.
Défi
FacileCréez une fonction appelée calculate_power qui prend deux arguments : base et exponent. La fonction doit retourner le résultat de l'élévation de la base à la puissance de l'exposant (en utilisant l'opérateur ^).
Lisez deux nombres à partir de l'entrée, convertissez-les en valeurs numériques et appelez votre fonction. Stockez la valeur retournée dans une variable appelée result, puis affichez result.
Par exemple, si les entrées sont 2 et 3, la sortie devrait être :
[1] 8Si les entrées sont 5 et 2, la sortie devrait être :
[1] 25Aide-mémoire
Les fonctions peuvent renvoyer des valeurs à l'aide de la fonction return(). Cela vous permet de stocker le résultat dans une variable ou de l'utiliser dans d'autres opérations :
add <- function(a, b) {
return(a + b)
}
result <- add(5, 3)
print(result) # [1] 8Les valeurs renvoyées peuvent être utilisées directement dans des expressions :
double <- function(x) {
return(x * 2)
}
print(double(5) + double(3)) # [1] 16En R, les fonctions renvoient automatiquement la dernière expression évaluée si return() n'est pas utilisé. Cependant, l'utilisation explicite de return() rend le code plus clair et permet des sorties anticipées des fonctions.
Essayez vous-même
# Lire l'entrée
con <- file("stdin", "r")
base <- as.numeric(suppressWarnings(readLines(con, n = 1)))
exponent <- as.numeric(suppressWarnings(readLines(con, n = 1)))
# TODO: Créer une fonction appelée calculate_power qui prend base et exponent
# et retourne base élevée à la puissance de exponent en utilisant l'opérateur ^
# TODO: Appeler votre fonction avec les valeurs d'entrée et stocker le résultat dans 'result'
# Afficher le résultat
print(result)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
4Opérateurs - Partie 2
Opérateurs logiques (AND, OR)Opérateurs logiques - Partie 2 (NOT)Récapitulatif - Logique simpleLogique vectorisée - Partie 1Logique vectorisée - Partie 27Calculateur de partage d'addition
Message de bienvenueRécupérer la saisie utilisateur10FizzBuzz avec une variante
Présentation du jeuLa fonction FizzBuzz2Variables et types de données
Type de données numériqueType de données entierType de données caractèreType de données logiqueVérification des types de donnéesConventions de nommageValeurs manquantes : NARécapitulatif - Création de variables8Boucles
Boucle ForBoucle WhileBreakSuivant (Continue)Récapitulatif - FactorielleGénération de séquences (seq, :)Boucles imbriquéesRécapitulatif - Saisie dynamique3Opérateurs, partie 1
Opérateurs arithmétiquesDivision entière et moduloOpérateurs d'affectationRécapitulatif - Mathématiques simplesOpérateurs de comparaison6Entrées/Sorties de base
Affichage avec PrintCat pour l'affichageAffichage avec des variablesLire l'entrée avec readline()Bases de la conversion de typesRécapitulatif - Calculateur d'âgeRécapitulatif - Vrai ou Faux9Fonctions
Déclarer une fonctionArguments de fonctionValeurs de retourRécapitulatif - Fonction SigmaRécapitulatif - Fonction de validationValeurs de paramètres par défaut