Méthodes Ruby

Les méthodes Ruby sont similaires aux fonctions d'autres langages de programmation. Les méthodes Ruby servent à regrouper une ou plusieurs instructions répétées en une seule unité.

Les noms de méthodes doivent commencer par une lettre minuscule. Si vous commencez un nom de méthode par une lettre majuscule, Ruby peut le traiter comme une constante, ce qui fait que l'appel est analysé incorrectement.

Les méthodes doivent être définies avant d'être appelées ; sinon, Ruby lèvera une exception d'appel de méthode non définie.

Syntaxe

def method_name [( [arg [= default]]...[, * arg [, &expr ]])] expr.. end

Ainsi, vous pouvez définir une méthode simple comme suit :

def method_name expr.. end

Vous pouvez définir une méthode qui accepte des paramètres comme suit :

def method_name (var1, var2) expr.. end

Vous pouvez définir des valeurs par défaut pour les paramètres, qui seront utilisées si les paramètres requis ne sont pas passés lorsque la méthode est appelée :

def method_name (var1=value1, var2=value2) expr.. end

Lorsque vous souhaitez appeler une méthode, il vous suffit d'utiliser le nom de la méthode, comme suit :

method_name

Cependant, lorsque vous appelez une méthode avec des paramètres, vous devez inclure les paramètres lorsque vous écrivez le nom de la méthode, par exemple :

method_name 25, 30

Le plus grand inconvénient de l'utilisation de méthodes avec paramètres est que vous devez vous souvenir du nombre de paramètres lors de l'appel de la méthode. Par exemple, si vous passez seulement deux arguments à une méthode qui accepte trois paramètres, Ruby affichera une erreur.

Exemple

#!/usr/bin/ruby # -*- coding: UTF-8 -*- def test(a1="Ruby", a2="Perl") puts "Le langage de programmation est #{a1}" puts "Le langage de programmation est #{a2}" end test "C", "C++" test

Essayez-le »

La sortie de l'exemple ci-dessus est :

编程语言为 C
编程语言为 C++
编程语言为 Ruby
编程语言为 Perl

Retour de valeurs à partir des méthodes

Chaque méthode en Ruby renvoie une valeur par défaut. La valeur renvoyée est la valeur de la dernière instruction. Par exemple :

Exemple

def test i = 100 j = 10 k = 0 end

Lorsque cette méthode est appelée, la dernière variable déclarée k sera renvoyée.

Ruby returnInstruction

En Ruby, l'instructionreturnest utilisée pour renvoyer une ou plusieurs valeurs depuis une méthode Ruby.

Syntaxe

return [expr[`,' expr...]]

Si plus de deux expressions sont données, un tableau contenant ces valeurs sera la valeur de retour. Si aucune expression n'est donnée, nil sera la valeur de retour.

Exemple

returnorreturn 12orreturn 1,2,3

Regardez l'exemple suivant :

Exemple

#!/usr/bin/ruby # -*- coding: UTF-8 -*- def test i = 100 j = 200 k = 300 return i, j, k end var = test puts var

Essayez-le »

La sortie de l'exemple ci-dessus est :

100
200
300

Nombre variable de paramètres

Supposons que vous déclariez une méthode avec deux paramètres. Lorsque vous appelez cette méthode, vous devez également passer deux arguments.

Cependant, Ruby vous permet de déclarer des méthodes avec un nombre variable de paramètres. Regardons l'exemple suivant :

Exemple

#!/usr/bin/ruby # -*- coding: UTF-8 -*- def sample (*test) puts "Le nombre de paramètres est #{test.length}" for i in 0...test.length puts "La valeur du paramètre est #{test[i]}" end end sample "Zara", "6", "F" sample "Mac", "36", "M", "MCA"

Essayez-le »

Dans ce code, vous avez déclaré une méthode sample qui accepte un paramètre test. Cependant, ce paramètre est un paramètre variable. Cela signifie que le paramètre peut prendre un nombre variable de variables. La sortie de l'exemple ci-dessus est :

参数个数为 3
参数值为 Zara
参数值为 6
参数值为 F
参数个数为 4
参数值为 Mac
参数值为 36
参数值为 M
参数值为 MCA

Méthodes de classe

Lorsqu'une méthode est définie en dehors d'une classe, elle est marquée comme private par défaut.privateEn revanche, si une méthode est définie à l'intérieur d'une classe, elle est marquée comme public par défaut.

La visibilité par défaut et le marqueurprivatepeuvent être modifiés via lepublicouprivate du module (Module)public ou private.

Lorsque vous voulez accéder aux méthodes d'une classe, vous devez d'abord instancier la classe. Ensuite, en utilisant l'objet, vous pouvez accéder à n'importe quel membre de la classe.

Ruby fournit un moyen d'accéder aux méthodes sans instancier. Voyons comment déclarer et accéder aux méthodes de classe :

class Accounts def reading_charge end def Accounts.return_date end end

Nous savons déjà comment la méthode return_date est déclarée. Elle est déclarée en plaçant un point après le nom de la classe, suivi du nom de la méthode. Vous pouvez accéder directement aux méthodes de classe, comme suit :

Accounts.return_date

Pour accéder à cette méthode, vous n'avez pas besoin de créer un objet de la classe Accounts.

Ruby aliasInstruction

Cette instruction est utilisée pour créer un alias d'une méthode ou d'une variable globale. Les alias ne peuvent pas être définis à l'intérieur du corps d'une méthode. Même si la méthode est redéfinie, l'alias de la méthode préserve la définition actuelle de la méthode.

Créer un alias de variables globales numérotées ($1, $2,...) est interdit. Redéfinir les variables globales intégrées peut causer de graves problèmes.

Syntaxe

aliasnom de méthode nom de méthodealiasvariable globale variable globale

Exemple

alias foo bar alias $MATCH $&

Ici, nous avons défini l'alias foo pour bar, et l'alias $MATCH pour $&.

Ruby undefInstruction

Cette instruction est utilisée pour supprimer la définition d'une méthode.undefElle ne peut pas apparaître à l'intérieur du corps d'une méthode.

En utilisantundefetalias, l'interface de la classe peut être modifiée indépendamment de la classe parente, mais veuillez noter que cela peut casser le programme lors de l'appel de méthodes à l'intérieur d'elle-même.

undefnom de méthode

Exemple

L'exemple suivant supprime la définition de méthode nomméebar:

undef bar
Autres extensions