Une commande est une information ajoutée à un programme et utilisée par le code pour effectuer des modifications.
Les exemples de fonctions fournis dans la leçon précédente ne nécessitaient aucune commande :
GetNumberOfMousetrapsYouCanAfford() : int
Pour le savoir, observez les parenthèses () dans la signature de fonction ci-dessus : elles sont vides.
Paramètres
Vous pouvez définir la commande dont une fonction a besoin en ajoutant un paramètre à la signature de fonction.
Un paramètre est une constante qui est déclarée dans la signature de fonction entre parenthèses. Lorsqu'un paramètre est défini, vous pouvez l'utiliser dans le corps de la fonction.
La syntaxe d'une fonction qui inclut un paramètre est similaire à celle-ci :
name(parameter : type) : type =
codeblock
Dans l'exemple suivant, CoinsPerMousetrap est maintenant un paramètre de la fonction BuyMousetrap() :
var Coins : int = 500
BuyMousetrap(CoinsPerMousetrap : int) : void =
set Coins = Coins - CoinsPerMousetrap
Print("Mousetrap bought! You have {Coins} coins left.")
Signification de ce code :
- Vous disposez d’une variable appelée
Coins(pièces) avec une valeur entière de départ de 500 :var Coins : int = 500. - La fonction appelée
BuyMousetrapprend le paramètreCoinsPerMousetrap. Cependant, vous ne voulez pas que cette fonction renvoie de valeur ; vous la définissez donc sur le typevoid.
Arguments
Lorsque vous appelez une fonction qui attend des paramètres, vous devez attribuer des valeurs aux paramètres, de la même manière que vous devez attribuer des valeurs aux constantes.
Ces valeurs affectées aux fonctions sont appelées arguments de fonction.
Pour appeler la fonction BuyMousetrap(), vous devez ajouter un argument entre parenthèses. Il existe plusieurs façons de procéder.
Par exemple :
-
Vous pouvez utiliser
BuyMousetrap(CoinsPerMousetrap := 10), qui émule la façon dont vous définissez les paramètres de la fonction. Le chiffre 10 est un argument de la fonction qui modifie la valeur du résultat. -
Vous vous souvenez des littéraux des leçons 2 et 3 ? Vous pouvez également utiliser une valeur littérale du même type que le paramètre.
Une troisième méthode consiste à utiliser une variable ou une constante précédemment déclarée en tant qu’argument. Vous pouvez appeler la fonction en utilisant différentes valeurs pour l'argument et obtenir des résultats différents.
var Coins : int = 500
# Après cet appel, le nombre de pièces est de 490
BuyMousetrap(CoinsPerMousetrap := 10)
# Après cet appel, le nombre de pièces est de 485
BuyMousetrap(5)
CoinsPerMouseTrap : int = 20
# Après cet appel, le nombre de pièces est de 465
BuyMousetrap(CoinsPerMousetrap)
Paramètres multiples
Vous pouvez définir autant de paramètres que vous le souhaitez, à condition de les séparer par des virgules.
La syntaxe d'une fonction qui compte deux paramètres est similaire à celle-ci :
name(parameter : type, parameter : type) : type =
codeblock
Lorsque vous appelez la fonction, vous devez aussi séparer les arguments par des virgules, comme si vous définissiez les paramètres de la fonction.
Récapitulatif
- Un paramètre est une constante qui est déclarée dans la signature de fonction. Il est indiqué entre parenthèses.
- Un argument est la valeur attribuée à la constante utilisée dans le paramètre de cette fonction.
- Vous devez séparer plusieurs paramètres dans une même fonction par des virgules.