Contactez-nous

Exemple : créer une méthode `say_hello` avec un argument

Rendez vos méthodes Ruby dynamiques en apprenant à leur passer des arguments. Cet exemple pratique vous guide pour créer une méthode `say_hello(name)` qui personnalise son message. Une compétence essentielle pour écrire du code flexible et réutilisable.

Pourquoi rendre nos méthodes plus flexibles ?

Dans la leçon précédente, nous avons créé une méthode qui exécute toujours la même tâche. C'est utile, mais limité. Imaginez une machine à café qui ne sait faire qu'un seul type de café, sans sucre. Pour la rendre vraiment pratique, vous voudriez pouvoir lui dire quelle quantité de sucre ajouter.

En programmation, c'est le rôle des arguments. Un argument est une information que l'on fournit à une méthode au moment de l'appel pour influencer son comportement. Au lieu d'une méthode qui dit toujours "Bonjour !", nous allons en créer une capable de dire bonjour à n'importe qui par son nom. C'est le passage d'un outil rigide à un outil dynamique et réutilisable.

La syntaxe : ajouter un paramètre à la définition

Pour notre exemple, nous n'aurons besoin que d'un seul paramètre, que nous nommerons logiquement name. Les parenthèses, qui étaient optionnelles pour les méthodes sans argument, deviennent ici indispensables pour contenir la liste des paramètres.

Le code : notre méthode `say_hello` en action

Comme vous pouvez le voir, nous avons écrit la logique une seule fois, mais nous avons produit trois sorties personnalisées. C'est l'essence même de la réutilisabilité.

Conseil d'expert : la différence entre 'paramètre' et 'argument'

Les termes 'paramètre' et 'argument' sont souvent utilisés de manière interchangeable, mais ils désignent deux choses distinctes. Comprendre cette nuance vous aidera à être plus précis.

  • Un paramètre est la variable que vous déclarez dans la définition de la méthode. C'est le nom du placeholder. Dans notre exemple, name dans def say_hello(name) est le paramètre.
  • Un argument est la valeur concrète que vous passez à la méthode lorsque vous l'appelez. C'est la donnée réelle. Dans say_hello("Alice"), la chaîne de caractères "Alice" est l'argument.

En pratique, lorsque vous appelez say_hello("Alice"), Ruby prend l'argument "Alice" et l'assigne au paramètre name. A l'intérieur de la méthode, name devient une variable locale qui contient la valeur "Alice", et qui n'est accessible qu'entre def et end.