English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

方法 Ruby

Les méthodes Ruby sont similaires aux fonctions dans d'autres langages de programmation. Les méthodes Ruby sont utilisées pour regrouper une ou plusieurs instructions répétées dans un seul élément.

Le nom de la méthode doit commencer par une lettre minuscule. Si vous commencez par une lettre majuscule dans le nom de la méthode, Ruby pourrait le prendre pour une constante, ce qui pourrait entraîner une analyse incorrecte des appels.

La méthode doit être définie avant l'appel, sinon Ruby génère une exception de appel de méthode non définie.

语法

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

Donc, vous pouvez définir une méthode simple, comme indiqué ci-dessous :

def method_name 
   expr..
fin

Vous pouvez définir une méthode acceptant des paramètres, comme indiqué ci-dessous :

def method_name (var1, var2)
   expr..
fin

Vous pouvez définir des valeurs par défaut pour les paramètres, qui seront utilisées si les paramètres nécessaires ne sont pas passés lors de l'appel de la méthode :

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

Lorsque vous devez appeler une méthode, vous pouvez utiliser simplement le nom de la méthode, comme indiqué ci-dessous :

method_name

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

method_name 25, 30

L'un des plus grands inconvénients de l'utilisation de méthodes avec paramètres est qu'il faut se souvenir du nombre de paramètres lors de l'appel de la méthode. Par exemple, si vous passez deux paramètres à une méthode qui accepte trois paramètres, Ruby affichera une erreur.

示例在线

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

Le résultat de l'exécution de l'exemple suivant est :

Le langage de programmation est C
Le langage de programmation est C++
Le langage de programmation est Ruby
Le langage de programmation est Perl

Retourner une valeur depuis une méthode

Chaque méthode dans Ruby retourne par défaut une valeur. La valeur retournée est la valeur de la dernière instruction. Par exemple :

示例在线

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

Lors de l'appel de cette méthode, le dernier variable déclarée k sera retourné.

Ruby return 语句

Dans Ruby return La déclaration est utilisée pour retourner une ou plusieurs valeurs depuis une méthode Ruby.

语法

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

Si plus de deux expressions sont fournies, l'array contenant ces valeurs sera le résultat retourné. Si aucune expression n'est fournie, nil sera le résultat retourné.

示例在线

return
 
ou
 
return 12
 
ou
 
return 1,2,3

Regardons l'exemple suivant :

示例在线

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

Le résultat de l'exécution de l'exemple suivant est :

100
200
300

Nombre variable de paramètres

Supposons que vous ayez déclaré une méthode avec deux paramètres, vous devez également transmettre deux paramètres lorsque vous appelez cette méthode.

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

示例在线

#!/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]}"
   fin
fin
sample "Zara", ""6"F"
sample "Mac", ""36"M", "MCA"

Dans ce segment de code, vous avez déjà déclaré une méthode sample qui accepte un paramètre test. Cependant, ce paramètre est un paramètre variable. Cela signifie que les paramètres peuvent être de différentes quantités. Le résultat de l'exécution de l'exemple suivant est :

le nombre de paramètres est 3
la valeur du paramètre est Zara
la valeur du paramètre est 6
la valeur du paramètre est F
le nombre de paramètres est 4
la valeur du paramètre est Mac
la valeur du paramètre est 36
la valeur du paramètre est M
la valeur du paramètre est MCA

méthode de classe

Lorsque une méthode est définie à l'extérieur d'une classe, le marquage par défaut de la méthode est privé. D'autre part, si une méthode est définie dans une classe, elle est marquée par défaut comme public.

moyen du module (Module) et privé le marquage de visibilité par défaut des méthodes est possible via le public ou privé changement.

Lorsque vous souhaitez accéder aux méthodes d'une classe, vous devez d'abord instancier la classe. Ensuite, en utilisant l'objet, vous pouvez accéder à tous les membres de la classe.

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

class Accounts
   def reading_charge
   fin
   def Accounts.return_date
   fin
fin

Nous savons déjà comment la méthode return_date est déclarée. Elle est déclarée en suivant le nom de la classe d'un point, puis le nom de la méthode. Vous pouvez accéder directement aux méthodes de classe, comme indiqué ci-dessous:

Accounts.return_date

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

Ruby alias 语句

Cette phrase est utilisée pour donner des alias à des méthodes ou des variables globales. Les alias ne peuvent pas être définis dans le corps de la méthode. Même si la méthode est redéfinie, l'alias de la méthode conserve la définition actuelle de la méthode.

为编号的全局变量($1,$2,...)起别名是被禁止的。重写内置的全局变量可能会导致严重的问题。

语法

alias 方法名 方法名
alias 全局变量 全局变量

示例在线

alias foo bar
alias $MATCH $&

在这里,我们已经为 bar 定义了别名为 foo,为 $& 定义了别名为 $MATCH。

Ruby undef 语句

此语句用于取消方法定义。undef 不能出现在方法主体内。

使用通过 undefalias,接口类可以从父类独立修改,但请注意,在自身内部方法调用时,它可能会破坏程序。

undef 方法名

示例在线

下面的示例取消名为 bar定义方法:

undef bar