Looking for ruby Keywords? Try Ask4Keywords

Ruby LanguageMethoden


Einführung

Funktionen in Ruby stellen organisierten, wiederverwendbaren Code bereit, um eine Reihe von Aktionen auszuführen. Funktionen vereinfachen den Codierungsprozess, verhindern redundante Logik und machen Code leichter nachvollziehbar. In diesem Thema werden die Deklaration und Verwendung von Funktionen, Argumenten, Parametern, Ertragsanweisungen und Geltungsbereich in Ruby beschrieben.

Bemerkungen

Eine Methode ist ein benannter Codeblock, der einem oder mehreren Objekten zugeordnet ist und im Allgemeinen durch eine Liste von Parametern zusätzlich zum Namen gekennzeichnet wird.

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

Ein Methodenaufruf gibt den Methodennamen, das Objekt an, für das er aufgerufen werden soll (manchmal als Empfänger bezeichnet) und null oder mehr Argumentwerte, die den benannten Methodenparametern zugewiesen werden. Der Wert des letzten in der Methode bewerteten Ausdrucks wird zum Wert des Methodenaufrufausdrucks.

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

Wenn der Empfänger nicht explizit ist, ist er self .

self
# => main

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

Wie im Ruby Programming Language- Buch erläutert, unterscheiden viele Sprachen zwischen Funktionen, denen kein Objekt zugeordnet ist, und Methoden, die für ein Empfängerobjekt aufgerufen werden. Da Ruby eine rein objektorientierte Sprache ist, sind alle Methoden echte Methoden und werden mit mindestens einem Objekt verknüpft.

Überblick über Methodenparameter

Art Method Signatur Rufen Sie ein Beispiel an Zuordnungen
R gleichgestellt 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 Augenwort def fn(a:0,b:1) fn(a:2,b:3) a=2, b=3

Diese Argumenttypen können auf praktisch jede Art und Weise kombiniert werden, um Variadic-Funktionen zu erstellen. Die Mindestanzahl von Argumenten für die Funktion entspricht der Anzahl der erforderlichen Argumente in der Signatur. Zusätzliche Argumente werden zuerst den Standardparametern zugewiesen, dann dem Parameter *rest .

Art Method Signatur Rufen Sie ein Beispiel an Zuordnungen
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}

Methoden Verwandte Beispiele