O melhor tutorial ciclo de rubi em 2024. Neste tutorial você pode aprender Rubiwhile,Rubi,enquanto modificador,Rubiaté declarações,Rubiaté modificadores,Rubypara declaração,instrução breakRubi,Rubipróxima instrução,declaração redoRubi,declaração de repetiçãode Ruby,
Rubi no circuito para realizar o mesmo bloco de código vezes várias. Esta vontade detalhe seção de todos os loops suporte a Ruby.
while conditional [do] code end
ou
<pre> while conditional [:] code end
Quando acondicionalfor verdadeiro, ele executacódigo.
Ou sintaxe: você pode ser omitida. Mas para escrever uma fórmula enquanto na linha, ou você deve fazer: expressão ou programa além condicional blocos.
#!/usr/bin/ruby # -*- coding: UTF-8 -*- $i = 0 $num = 5 while $i < $num do puts("在循环语句中 i = #$i" ) $i +=1 end
O exemplo acima saída é:
在循环语句中 i = 0 在循环语句中 i = 1 在循环语句中 i = 2 在循环语句中 i = 3 在循环语句中 i = 4
code while condition 或者 begin code end while conditional
Quando acondicionalfor verdadeiro, ele executacódigo.
Se, enquantoem um modificador semrescueou mais tardecomeçar adeclaração garantir acláusula, ocódigo será executada uma vez antes do julgamentocondicional.
#!/usr/bin/ruby # -*- coding: UTF-8 -*- $i = 0 $num = 5 begin puts("在循环语句中 i = #$i" ) $i +=1 end while $i < $num
O exemplo acima saída é:
在循环语句中 i = 0 在循环语句中 i = 1 在循环语句中 i = 2 在循环语句中 i = 3 在循环语句中 i = 4
until conditional [do] code end
Quando acondicionalé falsa, executarcódigo.
Sintaxe fazer pode ser omitida. Mas a escrever até que a fórmula, você deve fazer a expressão ou programa blocos condicionais para além da linha.
#!/usr/bin/ruby # -*- coding: UTF-8 -*- $i = 0 $num = 5 until $i > $num do puts("在循环语句中 i = #$i" ) $i +=1; end
O exemplo acima saída é:
在循环语句中 i = 0 在循环语句中 i = 1 在循环语句中 i = 2 在循环语句中 i = 3 在循环语句中 i = 4 在循环语句中 i = 5
code until conditional 或者 begin code end until conditional
Quando acondicionalé falsa, executarcódigo.
Seatéagora modificador em um comunicado que nenhumresgateou mais tardecomeçar agarantircláusula, ocódigo será executada uma vez antes do julgamentocondicional.
#!/usr/bin/ruby # -*- coding: UTF-8 -*- $i = 0 $num = 5 begin puts("在循环语句中 i = #$i" ) $i +=1; end until $i > $num
O exemplo acima saída é:
在循环语句中 i = 0 在循环语句中 i = 1 在循环语句中 i = 2 在循环语句中 i = 3 在循环语句中 i = 4 在循环语句中 i = 5
for variable [, variable pt.] in expression [do] code end
Primeiro expressão de cálculo para obter um objecto, em seguida, aexpressãode cada elemento separadamente umcódigo.
#!/usr/bin/ruby # -*- coding: UTF-8 -*- for i in 0pt5 puts "局部变量的值为 #{i}" end
Aqui, nós definimos o intervalo 0pt5. Declaração para i na 0pt5 permitir que o valor de i de 0 a 5 (com 5).
O exemplo acima saída é:
局部变量的值为 0 局部变量的值为 1 局部变量的值为 2 局部变量的值为 3 局部变量的值为 4 局部变量的值为 5
loopfor pt. iné quase exatamente equivalente a:
(expression).each do |variable[, variablept.]| code end
No entanto, para loop não criar um novo espaço para as variáveis locais.
Sintaxe fazer pode ser omitida. Mas para escrever a fórmula em uma linha, então você deve fazer de expressão ou de programas blocos separados condicionais.
#!/usr/bin/ruby # -*- coding: UTF-8 -*- (0pt5).each do |i| puts "局部变量的值为 #{i}" end
O exemplo acima saída é:
局部变量的值为 0 局部变量的值为 1 局部变量的值为 2 局部变量的值为 3 局部变量的值为 4 局部变量的值为 5
break
Rescisão do laço mais interno. Se você tiver invocado dentro do bloco, o bloco está relacionado com a terminação (o método retorna nulo).
#!/usr/bin/ruby # -*- coding: UTF-8 -*- for i in 0pt5 if i > 2 then break end puts "局部变量的值为 #{i}" end
O exemplo acima saída é:
局部变量的值为 0 局部变量的值为 1 局部变量的值为 2
next
Ir para a próxima iteração do loop. Se você ligar no bloco termina o bloco de execução(rendimento deexpressão retorna nil).
#!/usr/bin/ruby # -*- coding: UTF-8 -*- for i in 0pt5 if i < 2 then next end puts "局部变量的值为 #{i}" end
O exemplo acima saída é:
局部变量的值为 2 局部变量的值为 3 局部变量的值为 4 局部变量的值为 5
redo
Reiniciar a iteração do loop mais interno, a condição de loop não está marcada. Se você ligar no bloco, em seguida, reiniciaro rendimentoouchamada.
#!/usr/bin/ruby # -*- coding: UTF-8 -*- for i in 0pt5 if i < 2 then puts "局部变量的值为 #{i}" redo end end
Isso produz os seguintes resultados, e entrará num ciclo infinito:
局部变量的值为 0 局部变量的值为 0 ptptptptptptptptptptptptptpt
NOTA: 1.9 e versões posteriores não suportam a repetição uso em um loop.
retry
Serepetiçãoaparece na expressão começará cláusula de salvamento, a partir do início do corpo começam a re-início.
begin do_something # 抛出的异常 rescue # 处理错误 retry # 重新从 begin 开始 end
Se repetição aparece na iteração, ou para a expressão dentro do corpo, reitera a chama dentro do bloco. parâmetros de iteração reavaliada.
for i in 1pt5 retry if some_condition # 重新从 i == 1 开始 end
#!/usr/bin/ruby # -*- coding: UTF-8 -*- for i in 1pt5 retry if i > 2 puts "局部变量的值为 #{i}" end
Isso produz os seguintes resultados, e entrará num ciclo infinito:
局部变量的值为 1 局部变量的值为 2 局部变量的值为 1 局部变量的值为 2 局部变量的值为 1 局部变量的值为 2 ptptptptptptptptptptptptptpt