Paramètres et arguments
Fait partie de la section Fundamentals du Journey Rust de Coddy — leçon 50 sur 75.
Un argument dans une fonction est une valeur que vous passez à la fonction lorsque vous l'appelez. Pour ajouter des arguments à une fonction, nous les écrivons à l'intérieur des parenthèses () :
fn function_name(arg1: data_type, arg2: data_type, ...) {
// code
}Nous pouvons nommer les arguments comme nous le souhaitons et nous pouvons écrire autant d'arguments que nécessaire.
Pour appeler une fonction et lui passer des arguments, nous écrivons :
function_name(value1, value2, value3, ...);Passer trop d'arguments à une fonction qui en attend moins fera échouer le programme
Exemple d'utilisation :
fn is_even(number: i32) {
if number % 2 == 0 {
println!("{} is even", number);
} else {
println!("{} is odd", number);
}
}
for i in 15..34 {
is_even(i);
}
for i in 153..219 {
is_even(i);
}Voici une fonction appelée is_even qui accepte un argument appelé number et affiche si le nombre est pair ou impair. Ensuite, nous appelons la fonction deux fois : une fois pour tous les nombres entre 15 et 34, une deuxième fois pour tous les nombres entre 153 et 219.
Défi
FacileÉcrivez un programme qui récupère deux nombres en entrée. Les nombres saisis sont les arguments de la fonction.
Créez une fonction qui reçoit deux arguments, calcule leur produit et l'affiche, nommez la fonction comme vous le souhaitez.
Appelez la fonction avec les nombres saisis.
Remarque ! Dans votre code, écrivez la fonction avant ses instructions d'appel/exécution.
Aide-mémoire
Pour ajouter des arguments à une fonction, écrivez-les à l'intérieur des parenthèses avec leurs types de données :
fn function_name(arg1: data_type, arg2: data_type) {
// code
}Appelez une fonction en passant des valeurs comme arguments :
function_name(value1, value2);Exemple avec un argument :
fn is_even(number: i32) {
if number % 2 == 0 {
println!("{} is even", number);
} else {
println!("{} is odd", number);
}
}
is_even(42);Passer trop d'arguments à une fonction entraînera l'échec du programme
Essayez vous-même
use std::io;
// Déclaration de fonction
fn main() {
let mut input_a = String::new();
let mut input_b = String::new();
io::stdin().read_line(&mut input_a).unwrap();
io::stdin().read_line(&mut input_b).unwrap();
let a: i32 = input_a.trim().parse().unwrap();
let b: i32 = input_b.trim().parse().unwrap();
// Appeler la fonction avec a et b comme arguments
}Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Fundamentals
4Opérateurs - Partie 1
Opérateurs arithmétiquesOpérateur moduloRaccourcis arithmétiquesOpérateurs de comparaisonComparaison de chaînes7Entrées/Sorties de base
Afficher dans la consoleLire la saisie utilisateurRécapitulatif - Jusqu'à 120Récapitulatif - Vrai ou Faux5Opérateurs, partie 2
Opérateurs logiques, partie 1Opérateurs logiques, partie 2Récapitulatif - Logique simpleOpérateurs logiques, partie 311Fonctions
Déclaration de fonctionsParamètres et argumentsValeurs de retourValeurs de retour multiplesRécapitulatif - Fonction SigmaRécapitulatif - Fonction de validation3Variables - Partie 2
Déclaration de typeConventions de nommageInférence de typeRécapitulatif - Initialiser des variablesConversion de type9Boucles
Boucle For sur une sérieBoucle WhileBreakContinueBoucles imbriquéesÉtiquettes de boucleBoucle infinieRécapitulatif - Entrée dynamique12Bases des tableaux
Déclaration de tableauxTableau comme paramètreAccès aux élémentsModification de tableauxRécapitulatif - Affichage formaté d'un tableau15Opérations sur les chaînes
Méthodes de chaînesMacro format!Conversion de chaînesRécapitulatif - Format