Ruby - Loops
Loops em Ruby são usados para executar o mesmo bloco de código um determinado número de vezes. Este capítulo detalha todas as instruções de loop suportadas por Ruby.
Ruby while Declaração
Sintaxe
while conditional [do]
code
end
Executa o código enquanto a condição for verdadeira. Um tempo de ciclo condicional é separado do código pela palavra reservada fazer, uma nova linha, barra invertida \, ou um ponto e vírgula;.
Exemplo
#!/usr/bin/ruby
$i = 0
$num = 5
while $i < $num do
puts("Inside the loop i = #$i" )
$i +=1
end
Isso produzirá o seguinte resultado -
Inside the loop i = 0
Inside the loop i = 1
Inside the loop i = 2
Inside the loop i = 3
Inside the loop i = 4
Ruby enquanto modificador
Sintaxe
code while condition
OR
begin
code
end while conditional
Executa o código enquanto a condição for verdadeira.
Se um modificador while segue uma instrução begin sem cláusulas de salvamento ou de garantia, o código é executado uma vez antes de o condicional ser avaliado.
Exemplo
#!/usr/bin/ruby
$i = 0
$num = 5
begin
puts("Inside the loop i = #$i" )
$i +=1
end while $i < $num
Isso produzirá o seguinte resultado -
Inside the loop i = 0
Inside the loop i = 1
Inside the loop i = 2
Inside the loop i = 3
Inside the loop i = 4
Ruby até declaração
until conditional [do]
code
end
Executa código enquanto condicional é falsa. A condicional de uma instrução até é separada do código pela palavra reservada do , uma nova linha ou um ponto e vírgula.
Exemplo
#!/usr/bin/ruby
$i = 0
$num = 5
until $i > $num do
puts("Inside the loop i = #$i" )
$i +=1;
end
Isso produzirá o seguinte resultado -
Inside the loop i = 0
Inside the loop i = 1
Inside the loop i = 2
Inside the loop i = 3
Inside the loop i = 4
Inside the loop i = 5
Ruby até modificador
Sintaxe
code until conditional
OR
begin
code
end until conditional
Executa código enquanto condicional é falsa.
Se um modificador until segue uma instrução begin sem cláusulas de salvamento ou de garantia, o código é executado uma vez antes de o condicional ser avaliado.
Exemplo
#!/usr/bin/ruby
$i = 0
$num = 5
begin
puts("Inside the loop i = #$i" )
$i +=1;
end until $i > $num
Isso produzirá o seguinte resultado -
Inside the loop i = 0
Inside the loop i = 1
Inside the loop i = 2
Inside the loop i = 3
Inside the loop i = 4
Inside the loop i = 5
Ruby para declaração
Sintaxe
for variable [, variable ...] in expression [do]
code
end
Executa o código uma vez para cada elemento da expressão .
Exemplo
#!/usr/bin/ruby
for i in 0..5
puts "Value of local variable is #{i}"
end
Aqui, definimos o intervalo 0..5. A instrução para i em 0..5 permitirá que i assuma valores no intervalo de 0 a 5 (incluindo 5). Isso produzirá o seguinte resultado -
Value of local variable is 0
Value of local variable is 1
Value of local variable is 2
Value of local variable is 3
Value of local variable is 4
Value of local variable is 5
Um loop for ... in é quase exatamente equivalente ao seguinte -
(expression).each do |variable[, variable...]| code end
exceto que um de loop não criar um novo escopo para variáveis locais. Uma para o circuito de expressão é separado do código pela palavra reservada fazer, uma nova linha ou um ponto e vírgula.
Exemplo
#!/usr/bin/ruby
(0..5).each do |i|
puts "Value of local variable is #{i}"
end
Isso produzirá o seguinte resultado -
Value of local variable is 0
Value of local variable is 1
Value of local variable is 2
Value of local variable is 3
Value of local variable is 4
Value of local variable is 5
Declaração de quebra de Ruby
Sintaxe
break
Termina o loop mais interno. Encerra um método com um bloco associado se chamado dentro do bloco (com o método retornando nil).
Exemplo
#!/usr/bin/ruby
for i in 0..5
if i > 2 then
break
end
puts "Value of local variable is #{i}"
end
Isso produzirá o seguinte resultado -
Value of local variable is 0
Value of local variable is 1
Value of local variable is 2
Próxima declaração Ruby
Sintaxe
next
Pula para a próxima iteração do loop mais interno. Termina a execução de um bloco se chamada dentro de um bloco (com rendimento ou chamada retornando nulo).
Exemplo
#!/usr/bin/ruby
for i in 0..5
if i < 2 then
next
end
puts "Value of local variable is #{i}"
end
Isso produzirá o seguinte resultado -
Value of local variable is 2
Value of local variable is 3
Value of local variable is 4
Value of local variable is 5
Declaração de refazer Ruby
Sintaxe
redo
Reinicia esta iteração do loop mais interno, sem verificar a condição do loop. Reinicia o rendimento ou chamada se chamado dentro de um bloco.
Exemplo
#!/usr/bin/ruby
for i in 0..5
if i < 2 then
puts "Value of local variable is #{i}"
redo
end
end
Isso produzirá o seguinte resultado e entrará em um loop infinito -
Value of local variable is 0
Value of local variable is 0
............................
Instrução Ruby Retry
Sintaxe
retry
Se a nova tentativa aparecer na cláusula de resgate da expressão inicial, reinicie do início do corpo inicial.
begin
do_something # exception raised
rescue
# handles error
retry # restart from beginning
end
Se a nova tentativa aparecer no iterador, o bloco ou o corpo da expressão for reinicia a chamada da chamada do iterador. Os argumentos para o iterador são reavaliados.
for i in 1..5
retry if some_condition # restart from i == 1
end
Exemplo
#!/usr/bin/ruby
for i in 0..5
retry if i > 2
puts "Value of local variable is #{i}"
end
Isso produzirá o seguinte resultado e entrará em um loop infinito -
Value of local variable is 1
Value of local variable is 2
Value of local variable is 1
Value of local variable is 2
Value of local variable is 1
Value of local variable is 2
............................