Latest web development tutorials

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