Chapitre 3 - Les fonctions et les boucles
Dans ce chapitre, nous allons voir ce que sont les fonctions et les boucles et leur intérêt.
MESSAGE IMPORTANT.
Cette documentation n'est plus à jour depuis trop longtemps. Si vous voulez de l'aide, veuillez rejoindre ce serveur Discord et lire cet article qui date de Septembre 2021 mais qui est fréquemment mis à jour.
Si vous souhaitez un robot pour automatiquement supprimer les insultes, n'hésitez pas à vous renseigner sur Mr. Robøt.
Les fonctions
On va commencer par le début.
Introduction
C'est quoi les fonctions ?
Les fonctions, c'est une fonctionnalité du JavaScript pour éviter les répétitions dans votre code et l'organiser.
Dans quel cadre ça pourrait m'être utile ?
Imaginez, par exemple, que vous souhaitez intégrer des commandes "8ball" (répond par oui ou non aléatoirement) et un "pierre-feuille-ciseaux". Pour ces deux commandes, il est fort probable que vous allez utiliser l'aléatoire dans votre commande. Au lieu de répéter deux fois les quelques ligne de code pour déterminer un chiffre aléatoire, nous allons créer une fonction pour que vous n'ayez qu'à répéter l'instruction qu'une seule fois.
Vous n'avez pas compris ? C'est pas grave, j'explique très mal, je vais vous montrer un exemple.
Les fonctions "basiques"
Introduction
Vers le début de votre code, juste après la ligne pour indiquer la "partie messages", insérez ceci :
Ensuite, recopiez ce morceau de code à la place qu'on les messages habituellement :
Allumez le robot et tapez la commande "salut". Vous obtiendrez le résultat suivant :
Le robot a exécuté le code de la fonction. On dit que vous l'avez appelée. L'instruction "return" placée dans la fonction force l'arrêt de l’exécution de la fonction et retourne ce qui est spécifié dans la même ligne. Si il n'y a rien plus, la fonction sera stoppée sans rien de plus.
C'est plus clair tout d'un coup, pas vrai ? On vient de voir un cas de fonction qui est inutile, c'est vrai. Passons à quelque chose qui peut vraiment servir.
Les fonctions utiles
Ajoutez ceci à votre code, cette fois-ci avant la ligne pour indiquer la "partie messages" cette fois-ci :
Ajoutez aussi ce morceau de code comme un message :
Allumez votre robot est testez la commande "aleatoire". Vous obtiendrez le résultat suivant :
Vous pouvez tester plusieurs fois, la commande renverra toujours un chiffre compris entre 1 et 10.
Avec ses commandes, vous pouvez imaginer des commandes "pierre-feuille-ciseaux" ou "8ball" (ne vous inquiétez pas, nous parlerons bientôt des commandes "fun") !
Les fonctions "complexes"
On s'attaque à quelque chose d'un peu plus difficile.
Introduction
Ajoutez ceci à votre code à la place de la fonction "salut" :
Et ceci à la place de la commande "salut" :
Redémarrez votre robot et testez la commande "message". Vous obtiendrez le résultat suivant :
Le bot a répondu par ce qu'il y avait entre les parenthèses de la fonction car, dans la première ligne du code de cette section, nous avons déclaré l'argument "message", et que nous l'avons réutilisé à l'intérieur des parenthèses de la deuxième ligne du premier code de la section. Vous avez compris ?
L'argument ne doit pas forcément s'appeler "message" parce qu'il va servir à envoyer un message, vous pouvez le nommer comme vous le voulez, mais respectez bien la convention camelCase et choisissez un nom pertinent !
Les fonctions "complexes" utiles
On va faire quelque chose d'utile maintenant. Recopiez ceci à la place du code de la fonction "entierAleatoire"
Et ceci à la place de la commande "message" :
Testez cette commande. Vous obtiendrez le résultat suivant :
Encore une fois, vous pouvez tester autant que vous le voulez, la commande renverra toujours un chiffre compris entre 1 et 10.
Voilà, on a fait le tour des fonctions ! Bien sûr, il y a des "types" de fonctions encore plus complexes, qui parlent notamment des objets et de la POO (Programmation Orientée Objets), mais c'est encore un peu tôt pour en parler. Maintenant, on va passer aux boucles !
Le contenu de cette page n'est pas terminé intégralement. Il sera fini prochainement.
Last updated