O melhor tutorial rubi Bloco em 2024. Neste tutorial você pode aprender gramática,declaração derendimento,Blocos e métodos,BEGIN e END,
Você já sabe como definir um método Ruby e como você chamar o método. Da mesma forma, Ruby tem o conceito de um bloco.
block_name{ statement1 statement2 ptptptptpt }
Aqui você vai aprender como usar uma declaração derendimentosimples para chamar o bloco. Você também vai aprender como usar a declaração derendimentocom parâmetros para o bloco chamado. No exemplo, você vai ver dois tipos de declaração derendimento.
Vejamos um exemplo de instrução rendimento:
#!/usr/bin/ruby # -*- coding: UTF-8 -*- def test puts "在 test 方法内" yield puts "你又回到了 test 方法内" yield end test {puts "你在块内"}
Exemplos dos resultados operacionais acima da seguinte forma:
在 test 方法内 你在块内 你又回到了 test 方法内 你在块内
Você também pode passar declaração de rendimento com os parâmetros. Aqui está um exemplo:
#!/usr/bin/ruby # -*- coding: UTF-8 -*- def test yield 5 puts "在 test 方法内" yield 100 end test {|i| puts "你在块 #{i} 内"}
Exemplos dos resultados operacionais acima da seguinte forma:
你在块 5 内 在 test 方法内 你在块 100 内
Aqui, após a declaração derendimentoseguido parâmetros. Você pode até passar vários parâmetros. No bloco, você pode colocar uma variável entre duas barras verticais para aceitar os parâmetros. Assim, no código acima, rendimento de 5 declaração é passada como um parâmetro para o valor de 5 peças de teste.
Agora, olhe para a seguinte declaração:
test {|i| puts "你在块 #{i} 内"}
Aqui, o valor de 5 receberá o i variável. Agora, vamos colocar observar a seguinte declaração:
puts "你在块 #{i} 内"
Isso coloca a declaração de saída é:
你在块 5 内
Se você quiser passar vários parâmetros, então a declaração derendimentoé a seguinte:
yield a, b
Neste momento, tal como mostrado no bloco:
test {|a, b| statement}
Parâmetros separados por vírgulas.
Você tem visto entre o bloco eo método de como inter-relacionados. Você geralmente usa a declaração de rendimento chama o bloco a partir do método com o mesmo nome. Por isso, o código é o seguinte:
#!/usr/bin/ruby def test yield end test{ puts "Hello world"}
Este exemplo é a maneira mais simples para alcançar o bloco. Você usa a declaração derendimentochama o bloco de teste.
Mas se o último parâmetro antes que o método com & podes o método é passado um bloco, e que este bloco pode ser atribuído ao último parâmetro. Se o * e & também aparecem na lista de parâmetros, e deve ser colocado na parte de trás.
#!/usr/bin/ruby def test(&block) block.call end test { puts "Hello World!"}
Exemplos dos resultados operacionais acima da seguinte forma:
Hello World!
Cada arquivo de origem Ruby pode declarar quando os blocos de código (bloco BEGIN) quando o arquivo é carregado para ser executado, e após o programa termina a execução dos blocos de código para ser executado (bloco END).
#!/usr/bin/ruby BEGIN { # BEGIN 代码块 puts "BEGIN 代码块" } END { # END 代码块 puts "END 代码块" } # MAIN 代码块 puts "MAIN 代码块"
Um programa pode conter vários blocos começar e terminar. bloco BEGIN é executado na ordem em que aparecem. blocos terminais como eles aparecem em ordem inversa. Quando executado, o programa acima produz os seguintes resultados:
BEGIN 代码块 MAIN 代码块 END 代码块