Em C e em muitos outros idiomas, há uma continue
palavra - chave que, quando usada dentro de um loop, salta para a próxima iteração do loop. Existe algum equivalente dessa continue
palavra - chave no Ruby?
Em C e em muitos outros idiomas, há uma continue
palavra - chave que, quando usada dentro de um loop, salta para a próxima iteração do loop. Existe algum equivalente dessa continue
palavra - chave no Ruby?
Respostas:
Sim, é chamado next
.
for i in 0..5
if i < 2
next
end
puts "Value of local variable is #{i}"
end
Isso gera o seguinte:
Value of local variable is 2
Value of local variable is 3
Value of local variable is 4
Value of local variable is 5
=> 0..5
next
) acima C ( continue
)
next
Além disso, veja redo
qual refaz a iteração atual .
redo
comando do Perl (ou sua essência, pelo menos). Para a interpretação de Ruby, procure por "refazer" nesta página .
Escrevendo a resposta de Ian Purton de uma maneira um pouco mais idiomática:
(1..5).each do |x|
next if x < 2
puts x
end
Impressões:
2
3
4
5
Dentro para-loops e iteradoras métodos como each
e map
a next
palavra-chave na rubi terá o efeito de salto para a iteração seguinte do ciclo (o mesmo como continue
em C).
No entanto, o que ele realmente faz é apenas retornar do bloco atual. Portanto, você pode usá-lo com qualquer método que aceite um bloco - mesmo que não tenha nada a ver com iteração.
Ruby tem outras duas palavras-chave de controle de loop / iteração: redo
e retry
.
Leia mais sobre eles e a diferença entre eles no Ruby QuickTips .
Use a seguir, ignorará essa condição e o restante do código funcionará. Abaixo eu forneci o script completo e coloquei
class TestBreak
puts " Enter the nmber"
no= gets.to_i
for i in 1..no
if(i==5)
next
else
puts i
end
end
end
obj=TestBreak.new()
Saída: Digite o número 10
1 2 3 4 6 7 8 9 10