Ruby-Methode
Ruby-Methode ist ähnlich wie bei anderen Funktionen Programmiersprache. Ruby-Methode zum Bündeln eines oder mehrerer Duplikat-Anweisungen in einem Gerät.
Der Methodenname sollte mit einem Kleinbuchstaben beginnen. Wenn Sie in Großbuchstaben als Beginn des Methodennamen sind, wahrscheinlich Ruby es als eine Konstante verwenden, was zu nennen falsch analysieren.
Vor dem Aufruf der Methode sollte anders definiert werden, wird Ruby-undefinierten Methodenaufruf Ausnahme erzeugen.
Grammatik
def method_name [( [arg [= default]]...[, * arg [, &expr ]])] expr.. end
So können Sie eine einfache Methode zu definieren, wie folgt:
def method_name expr.. end
Sie können eine Methode definieren, um Parameter akzeptieren, wie folgt:
def method_name (var1, var2) expr.. end
Sie können den Standardwert für einen Parameter gesetzt ist, wird der Parameter nicht erforderlich, um den Standardwert, wenn der Methodenaufruf zu übergeben:
def method_name (var1=value1, var2=value2) expr.. end
Wenn Sie eine Methode aufrufen möchten, verwenden Sie einfach den Namen der Methode, wie unten dargestellt:
method_name
Wenn Sie jedoch eine Methode mit Parametern aufrufen, die Parameter, die Sie treffen müssen, wenn die Methodennamen zu schreiben, zum Beispiel:
method_name 25, 30
Das Verfahren zur Bestimmung der Parameter größte Nachteil besteht darin die Notwendigkeit, die Anzahl der Parameter zu beachten, wenn die Methode aufgerufen wird. Zum Beispiel, wenn Sie derjenige sind, der nur vorbei zwei Argumente drei Parameter Methode akzeptiert wird Rubin ein Fehler angezeigt.
Beispiele
#!/usr/bin/ruby # -*- coding: UTF-8 -*- def test(a1="Ruby", a2="Perl") puts "编程语言为 #{a1}" puts "编程语言为 #{a2}" end test "C", "C++" test
Führen Sie das obige Beispiel Ausgabe lautet:
编程语言为 C 编程语言为 C++ 编程语言为 Ruby 编程语言为 Perl
Der Rückgabewert von einer Methode
Rubin jede Methode gibt einen Standardwert. Dieser Wert ist der Wert, der durch die letzte Anweisung zurückgegeben. Zum Beispiel:
def test i = 100 j = 10 k = 0 end
Wenn Sie diese Methode aufrufen wird eine endgültige Deklaration der Variablen k zurückzukehren.
Ruby- return - Anweisung
Rubin in derreturn- Anweisung wird verwendet , um aus einer Ruby - Methode ein oder mehrere Werte zurückgeben.
Grammatik
return [expr[`,' expr...]]
Wenn mehr als zwei Ausdrücke sind eine Reihe dieser Werte enthält, wird der Rückgabewert sein. Wird kein Ausdruck angegeben wird, wird gleich Null ist der Rückgabewert sein.
Beispiele
return 或 return 12 或 return 1,2,3
Betrachten Sie die folgenden Beispiele:
#!/usr/bin/ruby # -*- coding: UTF-8 -*- def test i = 100 j = 200 k = 300 return i, j, k end var = test puts var
Führen Sie das obige Beispiel Ausgabe lautet:
100 200 300
Variable Anzahl von Argumenten
Angenommen, Sie haben eine Methode deklarieren, die zwei Argumente übernimmt, wenn Sie diese Methode aufrufen, können Sie auch zwei Parameter übergeben müssen.
Allerdings Ruby ermöglicht es Ihnen, eine variable Anzahl von Parametern zu deklarieren. Schauen wir uns die folgenden Beispiele an:
#!/usr/bin/ruby # -*- coding: UTF-8 -*- def sample (*test) puts "参数个数为 #{test.length}" for i in 0...test.length puts "参数值为 #{test[i]}" end end sample "Zara", "6", "F" sample "Mac", "36", "M", "MCA"
In diesem Code haben Sie eine Methode der Probe erklärt, einen Parameter-Test akzeptiert. Jedoch ist dieser Parameter ein variabler Parameter. Dies bedeutet, dass die Parameter können mit einer unterschiedlichen Anzahl von Variablen vorgesehen sein. Führen Sie das obige Beispiel Ausgabe lautet:
参数个数为 3 参数值为 Zara 参数值为 6 参数值为 F 参数个数为 4 参数值为 Mac 参数值为 36 参数值为 M 参数值为 MCA
Klassenmethoden
Wenn die externe, die Methode Methode in der Klasse Standard definiert alsprivatgekennzeichnet ist.Auf der anderen Seite, wenn das Verfahren in der Klasse definiert, wird die Standard als öffentlich markiert.
Die Standardmethode der Sichtbarkeit undprivatenTag kann über das Modul (Modul) inöffentlichenoderprivatengeändertwerden.
Wenn Sie die Klassenmethode zugreifen möchten, müssen Sie zunächst die Klasse instanziiert. Dann das Objekt verwenden, können Sie jedes Mitglied der Klasse zugreifen.
Ruby bietet eine Möglichkeit, ohne Instanziierung Methoden zuzugreifen. Mal sehen, wie zu deklarieren und die Klassenmethode zuzugreifen:
class Accounts def reading_charge end def Accounts.return_date end end
Wir wissen bereits, wie die Methode RETURN_DATE Aussage. Es ist nach dem Klassennamen gefolgt von einem Punkt, von dem Methodennamen hinter dem Punkt der Erklärung folgte. Sie können direkt die Klassenmethode wie folgt zugreifen:
Accounts.return_date
Um diese Methode zu gelangen, müssen Sie nicht eine Objektklasse Accounts zu erstellen.
Ruby- Alias - Anweisung
Diese Aussage wird als Methode oder globale Variablen aus Pseudonyms. Aliase können nicht innerhalb der Methode Körper definiert werden. Auch wenn das Verfahren außer Kraft gesetzt wird, behält die Alias-Methode auch die aktuelle Definition des Verfahrens.
Anzahl der globalen Variablen ($ 1, $ 2, ...) aus dem Alias ist verboten. Rewrite der integrierten globalen Variablen können zu ernsthaften Problemen führen.
Grammatik
alias 方法名 方法名 alias 全局变量 全局变量
Beispiele
alias foo bar alias $MATCH $&
Hier haben wir einen Alias für foo Bar, definiert einen Alias für $ & $ MATCH zu definieren.
Rubinundef - Anweisung
Diese Anweisung wird verwendet, um die Methodendefinition abzubrechen.undefkann nicht innerhalb einer Methode Körper erscheinen.
Durch die Verwendung vonundefundAliaskann die Klassenschnittstelle unabhängig von der übergeordneten Klasse geändert werden, aber bitte beachten Sie, dass , wenn seine eigene interne Methode aufruft, kann sie das Programm untergraben.
Grammatik
undef 方法名
Beispiele
Die folgenden Beispiele werden genanntbarMethodendefinition aufgehoben:
undef bar