Il miglior tutorial rubino Block Nel 2024, in questo tutorial puoi imparare grammatica,dichiarazioneresa,Blocchi e metodi,BEGIN e blocchi END,
Sapete già come definire un metodo di Ruby e come si chiama il metodo. Analogamente, rubino ha il concetto di un blocco.
block_name{ statement1 statement2 ititititit }
Qui potrete imparare a utilizzare una dichiarazioneresasemplice per chiamare il blocco. Potrai anche imparare a usare l'istruzioneyieldcon parametri al blocco richiamato. Nell'esempio, vedrete due tipi di istruzioneyield.
Diamo un'occhiata a una dichiarazione resa ad esempio:
#!/usr/bin/ruby # -*- coding: UTF-8 -*- def test puts "在 test 方法内" yield puts "你又回到了 test 方法内" yield end test {puts "你在块内"}
Esempi dei risultati operativi di cui sopra come segue:
在 test 方法内 你在块内 你又回到了 test 方法内 你在块内
È inoltre possibile passare istruzione yield con i parametri. Ecco un esempio:
#!/usr/bin/ruby # -*- coding: UTF-8 -*- def test yield 5 puts "在 test 方法内" yield 100 end test {|i| puts "你在块 #{i} 内"}
Esempi dei risultati operativi di cui sopra come segue:
你在块 5 内 在 test 方法内 你在块 100 内
Qui, dopo la dichiarazioneresaseguita parametri. È anche possibile passare più parametri. Nel blocco, è possibile inserire una variabile tra le due barre verticali per accettare i parametri. Così, nel codice precedente, resa 5 istruzione viene passato come parametro al valore di 5 provette.
Ora, guardate la seguente dichiarazione:
test {|i| puts "你在块 #{i} 内"}
Qui, il valore di 5 riceverà la variabile i. Ora, mettiamo osservare la seguente dichiarazione:
puts "你在块 #{i} 内"
Ciò pone la dichiarazione di uscita è:
你在块 5 内
Se si desidera passare più parametri, quindi l'istruzioneyieldè il seguente:
yield a, b
A questo punto, come mostrato nel blocco:
test {|a, b| statement}
I parametri separati da virgole.
Avete visto tra il blocco e il metodo di come interconnessi. Di solito si utilizza l'istruzione yield chiama il blocco dal metodo con lo stesso nome. Pertanto, il codice è il seguente:
#!/usr/bin/ruby def test yield end test{ puts "Hello world"}
Questo esempio è il modo più semplice per ottenere il blocco. Si utilizza l'istruzioneyieldchiama il blocco di prova.
Ma se l'ultimo parametro prima che il metodo con e quindi è possibile il metodo viene passato un blocco, e questo blocco può essere assegnato a l'ultimo parametro. Se il * e & appaiono anche nella lista dei parametri, e deve essere posto sul retro.
#!/usr/bin/ruby def test(&block) block.call end test { puts "Hello World!"}
Esempi dei risultati operativi di cui sopra come segue:
Hello World!
Ogni file sorgente di Ruby può dichiarare quando blocchi di codice (inizio blocco) quando il file viene caricato a correre, e dopo il programma termina l'esecuzione blocchi di codice da eseguire (blocco END).
#!/usr/bin/ruby BEGIN { # BEGIN 代码块 puts "BEGIN 代码块" } END { # END 代码块 puts "END 代码块" } # MAIN 代码块 puts "MAIN 代码块"
Un programma può contenere più iniziare e terminare i blocchi. BEGIN blocco viene eseguito nell'ordine in cui appaiono. blocchi END come appaiono in ordine inverso. Quando viene eseguito, il programma precedente produce i seguenti risultati:
BEGIN 代码块 MAIN 代码块 END 代码块