Ruby Methoden
Ruby-Methoden ähneln Funktionen in anderen Programmiersprachen. Ruby-Methoden werden verwendet, um eine oder mehrere wiederholte Anweisungen zu einer einzigen Einheit zu bündeln.
Methodennamen sollten mit einem Kleinbuchstaben beginnen. Wenn Sie einen Methodennamen mit einem Großbuchstaben beginnen, behandelt Ruby ihn möglicherweise als Konstante, wodurch der Aufruf falsch geparst werden kann.
Methoden sollten definiert werden, bevor sie aufgerufen werden; andernfalls löst Ruby eine Ausnahme für einen nicht definierten Methodenaufruf aus.
Syntax
Sie können also eine einfache Methode wie folgt definieren:
Sie können eine Methode, die Parameter akzeptiert, wie folgt definieren:
Sie können Standardwerte für Parameter festlegen, die verwendet werden, wenn die erforderlichen Parameter beim Aufruf der Methode nicht übergeben werden:
Wenn Sie eine Methode aufrufen möchten, müssen Sie nur den Methodennamen verwenden, wie folgt:
Wenn Sie jedoch eine Methode mit Parametern aufrufen, müssen Sie die Parameter beim Schreiben des Methodennamens angeben, zum Beispiel:
Der größte Nachteil bei der Verwendung von Methoden mit Parametern ist, dass Sie sich die Anzahl der Parameter merken müssen, wenn Sie die Methode aufrufen. Wenn Sie beispielsweise nur zwei Argumente an eine Methode übergeben, die drei Parameter akzeptiert, zeigt Ruby einen Fehler an.
Beispiel
Ausprobieren »
Die Ausgabe des obigen Beispiels ist:
编程语言为 C 编程语言为 C++ 编程语言为 Ruby 编程语言为 Perl
Rückgabe von Werten aus Methoden
Jede Methode in Ruby gibt standardmäßig einen Wert zurück. Der zurückgegebene Wert ist der Wert der letzten Anweisung. Zum Beispiel:
Beispiel
Wenn diese Methode aufgerufen wird, wird die zuletzt deklarierte Variable k zurückgegeben.
Ruby returnAnweisung
In Ruby wird diereturn-Anweisung verwendet, um einen oder mehrere Werte von einer Ruby-Methode zurückzugeben.
Syntax
Wenn mehr als zwei Ausdrücke angegeben werden, ist ein Array, das diese Werte enthält, der Rückgabewert. Wenn kein Ausdruck angegeben wird, ist nil der Rückgabewert.
Beispiel
Betrachten Sie das folgende Beispiel:
Beispiel
Ausprobieren »
Die Ausgabe des obigen Beispiels ist:
100 200 300
Variable Anzahl von Parametern
Angenommen, Sie deklarieren eine Methode mit zwei Parametern. Wenn Sie diese Methode aufrufen, müssen Sie auch zwei Argumente übergeben.
Ruby erlaubt es Ihnen jedoch, Methoden mit einer variablen Anzahl von Parametern zu deklarieren. Betrachten wir das folgende Beispiel:
Beispiel
Ausprobieren »
In diesem Code haben Sie eine Methode sample deklariert, die einen Parameter test akzeptiert. Dieser Parameter ist jedoch ein variabler Parameter. Das bedeutet, dass der Parameter eine variable Anzahl von Variablen annehmen kann. Die Ausgabe des obigen Beispiels ist:
参数个数为 3 参数值为 Zara 参数值为 6 参数值为 F 参数个数为 4 参数值为 Mac 参数值为 36 参数值为 M 参数值为 MCA
Klassenmethoden
Wenn eine Methode außerhalb einer Klasse definiert wird, ist sie standardmäßig als private markiert.privateAndererseits, wenn eine Methode innerhalb einer Klasse definiert wird, ist sie standardmäßig als public markiert.
Die standardmäßige Sichtbarkeit und dieprivateMarkierung können über diepublicoderprivate-Methoden des Moduls (Module) geändert werden.public oder private.
Wenn Sie auf die Methoden einer Klasse zugreifen möchten, müssen Sie zuerst die Klasse instanziieren. Dann können Sie mithilfe des Objekts auf jedes Mitglied der Klasse zugreifen.
Ruby bietet eine Möglichkeit, auf Methoden zuzugreifen, ohne zu instanziieren. Sehen wir uns an, wie man Klassenmethoden deklariert und auf sie zugreift:
Wir wissen bereits, wie die Methode return_date deklariert wird. Sie wird deklariert, indem man einen Punkt nach den Klassennamen setzt, gefolgt vom Methodennamen. Sie können direkt auf Klassenmethoden zugreifen, wie folgt:
Um auf diese Methode zuzugreifen, müssen Sie kein Objekt der Klasse Accounts erstellen.
Ruby aliasAnweisung
Diese Anweisung wird verwendet, um eine Methode oder eine globale Variable mit einem Alias zu versehen. Aliase können nicht innerhalb eines Methodenkörpers definiert werden. Selbst wenn die Methode überschrieben wird, behält der Alias der Methode die aktuelle Definition der Methode bei.
Das Erstellen von Aliasen für nummerierte globale Variablen ($1, $2,...) ist verboten. Das Überschreiben eingebauter globaler Variablen kann zu schwerwiegenden Problemen führen.
Syntax
Beispiel
Hier haben wir den Alias foo für bar definiert und den Alias $MATCH für $&.
Ruby undefAnweisung
Diese Anweisung wird verwendet, um eine Methode zu undefinieren.undefSie kann nicht innerhalb eines Methodenkörpers vorkommen.
Durch die Verwendung vonundefundaliaskann die Schnittstelle der Klasse unabhängig von der Elternklasse geändert werden, aber bitte beachten Sie, dass es das Programm zum Absturz bringen kann, wenn Methoden innerhalb von sich selbst aufgerufen werden.
Beispiel
Das folgende Beispiel hebt die Methodendefinition der Methode namensbarauf: