Looking for ruby Keywords? Try Ask4Keywords

Ruby LanguageLes méthodes


Introduction

Les fonctions de Ruby fournissent un code organisé et réutilisable pour préparer un ensemble d'actions. Les fonctions simplifient le processus de codage, empêchent la logique redondante et facilitent le suivi du code. Cette rubrique décrit la déclaration et l'utilisation des fonctions, des arguments, des paramètres, des instructions de rendement et de la portée dans Ruby.

Remarques

Une méthode est un bloc de code nommé, associé à un ou plusieurs objets et généralement identifié par une liste de paramètres en plus du nom.

def hello(name)
  "Hello, #{name}"
end

Un appel de méthode spécifie le nom de la méthode, l'objet sur lequel il doit être appelé (parfois appelé récepteur) et zéro ou plusieurs valeurs d'argument affectées aux paramètres de la méthode nommée. La valeur de la dernière expression évaluée dans la méthode devient la valeur de l'expression d'invocation de la méthode.

hello("World")
# => "Hello, World"

Lorsque le récepteur n'est pas explicite, il est self .

self
# => main

self.hello("World")
# => "Hello, World"

Comme expliqué dans le manuel Ruby Programming Language , de nombreux langages distinguent les fonctions sans objet associé et les méthodes appelées sur un objet récepteur. Ruby étant un langage purement orienté objet, toutes les méthodes sont des méthodes vraies et sont associées à au moins un objet.

Vue d'ensemble des paramètres de la méthode

Type Signature de méthode Exemple d'appel Les devoirs
R Évalué def fn(a,b,c) fn(2,3,5) a=2, b=3, c=5
V ariadic def fn(*rest) fn(2,3,5) rest=[2, 3, 5]
D efault def fn(a=0,b=1) fn(2,3) a=2, b=3
K eyword def fn(a:0,b:1) fn(a:2,b:3) a=2, b=3

Ces types d'arguments peuvent être combinés de presque toutes les manières possibles pour créer des fonctions variadiques. Le nombre minimum d'arguments de la fonction sera égal à la quantité d'arguments requis dans la signature. Les arguments supplémentaires seront d'abord affectés aux paramètres par défaut, puis au paramètre *rest .

Type Signature de méthode Exemple d'appel Les devoirs
R, D, V, R def fn(a,b=1,*mid,z) fn(2,97) a=2, b=1, mid=[], z=97
fn(2,3,97) a=2, b=3, mid=[], z=97
fn(2,3,5,97) a=2, b=3, mid=[5], z=97
fn(2,3,5,7,97) a=2, b=3, mid=[5,7], z=97
R, K, K def fn(a,g:6,h:7) fn(2) a=2, g=6, h=7
fn(2,h:19) a=2, g=6, h=19
fn(2,g:17,h:19) a=2, g=17, h=19
VK def fn(**ks) fn(a:2,g:17,h:19) ks={a:2, g:17, h:19}
fn(four:4,five:5) ks={four:4, five:5}

Les méthodes Exemples Liés