metodo di ruby
metodo di Ruby è simile ad altre funzioni del linguaggio di programmazione. Metodo di Ruby per la legatura di una o più istruzioni duplicati in una sola unità.
Il nome del metodo deve iniziare con una lettera minuscola. Se siete in lettere maiuscole come l'inizio del nome del metodo, Ruby probabilmente sarà lo usano come una costante, con conseguente non corretto parsing chiamare.
Prima di chiamare il metodo dovrebbe essere definito altrimenti, Ruby produrrà eccezione chiamata al metodo non definito.
grammatica
def method_name [( [arg [= default]]...[, * arg [, &expr ]])] expr.. end
Così, è possibile definire un metodo semplice, come segue:
def method_name expr.. end
È possibile definire un metodo per accettare parametri, come segue:
def method_name (var1, var2) expr.. end
È possibile impostare il valore predefinito per un parametro, il parametro non è tenuto a passare il valore di default se la chiamata di metodo:
def method_name (var1=value1, var2=value2) expr.. end
Quando si desidera chiamare un metodo, basta usare il nome del metodo, come illustrato di seguito:
method_name
Tuttavia, quando si chiama un metodo con parametri, i parametri che si devono prendere quando si scrive il nome del metodo, ad esempio:
method_name 25, 30
Il metodo di usare i parametri più grande svantaggio è la necessità di ricordare il numero di parametri quando si chiama il metodo. Per esempio, se tu sei quella che accetta il metodo di tre parametri solo passando due argomenti, Ruby verrà visualizzato un errore.
Esempi
#!/usr/bin/ruby # -*- coding: UTF-8 -*- def test(a1="Ruby", a2="Perl") puts "编程语言为 #{a1}" puts "编程语言为 #{a2}" end test "C", "C++" test
Eseguire l'uscita precedente esempio è il seguente:
编程语言为 C 编程语言为 C++ 编程语言为 Ruby 编程语言为 Perl
Il valore restituito da un metodo
Rubino ogni metodo restituisce un valore predefinito. Questo valore è il valore restituito dal l'ultima istruzione. Ad esempio:
def test i = 100 j = 10 k = 0 end
Quando si chiama questo metodo restituirà una dichiarazione finale della variabile k.
istruzione returnRubino
Ruby nella istruzionereturnè utilizzata per restituire uno o più valori da un metodo di Ruby.
grammatica
return [expr[`,' expr...]]
Se più di due espressioni sono date un vettore contenente questi valori sarà il valore di ritorno. Se non viene dato espressione, nil sarà il valore di ritorno.
Esempi
return 或 return 12 或 return 1,2,3
Considerate i seguenti esempi:
#!/usr/bin/ruby # -*- coding: UTF-8 -*- def test i = 100 j = 200 k = 300 return i, j, k end var = test puts var
Eseguire l'uscita precedente esempio è il seguente:
100 200 300
numero variabile di argomenti
Diciamo che si dichiara un metodo che prende due argomenti, quando si chiama questo metodo, è anche necessario passare due parametri.
Tuttavia, Ruby permette di dichiarare un numero variabile di parametri. Diamo un'occhiata ai seguenti esempi:
#!/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 questo codice, è stato dichiarato un metodo di campione, accetta un test di parametro. Tuttavia, questo parametro è un parametro variabile. Ciò implica che i parametri possono essere forniti con un diverso numero di variabili. Eseguire l'uscita precedente esempio è il seguente:
参数个数为 3 参数值为 Zara 参数值为 6 参数值为 F 参数个数为 4 参数值为 Mac 参数值为 36 参数值为 M 参数值为 MCA
I metodi di classe
Quando l'esterno, il metodo metodo definito nella classe predefinita contrassegnato comeprivato.D'altro canto, se il metodo definito nella classe, il difetto è contrassegnato come pubblico.
Il metodo predefinito di visibilità e tagprivatopuò essere modificata tramite il modulo (modulo) inpubblicooprivato.
Quando si desidera accedere al metodo della classe, è necessario prima creare un'istanza della classe. Quindi, utilizzando l'oggetto, è possibile accedere a qualsiasi membro della classe.
Rubino fornisce un modo per accedere, senza metodi di istanza. Vediamo come dichiarare e accedere al metodo della classe:
class Accounts def reading_charge end def Accounts.return_date end end
Sappiamo già come la dichiarazione metodo di RETURN_DATE. E 'dopo il nome della classe seguito da un punto, seguito dal nome del metodo dopo il punto alla dichiarazione. È possibile accedere direttamente al metodo della classe come segue:
Accounts.return_date
Per accedere a questo metodo, non è necessario creare un account di classe oggetto.
dichiarazione aliasRubino
Questa istruzione è usata come metodo o variabili globali da alias. Alias non possono essere definiti all'interno del corpo del metodo. Anche se il metodo viene sovrascritto, il metodo alias mantiene anche la definizione attuale del metodo.
Numero di variabili globali ($ 1, $ 2, ...) da l'alias è vietata. Riscrivere il built-in variabili globali può causare seri problemi.
grammatica
alias 方法名 方法名 alias 全局变量 全局变量
Esempi
alias foo bar alias $MATCH $&
Qui, abbiamo definito un alias per foo a bar, per definire un alias per $ e $ PARTITA.
dichiarazionedi Rubyundef
Questa affermazione viene utilizzato per annullare la definizione del metodo.undefnon può apparire all'interno di un corpo del metodo.
Utilizzandoundefealias,l'interfaccia di classe può essere modificata in modo indipendente dalla classe padre, ma si prega di notare che quando il proprio metodo interno richiede, può minare il programma.
grammatica
undef 方法名
Esempi
Gli esempi che seguono vengono cancellate dal nome definizione di metodobar:
undef bar