Latest web development tutorials

ciclo de rubi

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.

Rubiwhile

gramática

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.

Exemplos

#!/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

Rubi,enquanto modificador

gramática

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.

Exemplos

#!/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

Rubiaté declarações

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.

Exemplos

#!/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

Rubiaté modificadores

gramática

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.

Exemplos

#!/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

Rubypara declaração

gramática

for variable [, variable ...] in expression [do]
   code
end

Primeiro expressão de cálculo para obter um objecto, em seguida, aexpressãode cada elemento separadamente umcódigo.

Exemplos

#!/usr/bin/ruby
# -*- coding: UTF-8 -*-

for i in 0..5
   puts "局部变量的值为 #{i}"
end

Aqui, nós definimos o intervalo 0..5. Declaração para i na 0..5 permitir que o valor de i de 0 a 5 (com 5).

O exemplo acima saída é:

局部变量的值为 0
局部变量的值为 1
局部变量的值为 2
局部变量的值为 3
局部变量的值为 4
局部变量的值为 5

loopfor ... iné quase exatamente equivalente a:

(expression).each do |variable[, variable...]| 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.

Exemplos

#!/usr/bin/ruby
# -*- coding: UTF-8 -*-

(0..5).each do |i|
   puts "局部变量的值为 #{i}"
end

O exemplo acima saída é:

局部变量的值为 0
局部变量的值为 1
局部变量的值为 2
局部变量的值为 3
局部变量的值为 4
局部变量的值为 5

instrução breakRubi

gramática

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).

Exemplos

#!/usr/bin/ruby
# -*- coding: UTF-8 -*-

for i in 0..5
   if i > 2 then
      break
   end
   puts "局部变量的值为 #{i}"
end

O exemplo acima saída é:

局部变量的值为 0
局部变量的值为 1
局部变量的值为 2

Rubipróxima instrução

gramática

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).

Exemplos

#!/usr/bin/ruby
# -*- coding: UTF-8 -*-

for i in 0..5
   if i < 2 then
      next
   end
   puts "局部变量的值为 #{i}"
end

O exemplo acima saída é:

局部变量的值为 2
局部变量的值为 3
局部变量的值为 4
局部变量的值为 5

declaração redoRubi

gramática

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.

Exemplos

#!/usr/bin/ruby
# -*- coding: UTF-8 -*-

for i in 0..5
   if i < 2 then
      puts "局部变量的值为 #{i}"
      redo
   end
end

Isso produz os seguintes resultados, e entrará num ciclo infinito:

局部变量的值为 0
局部变量的值为 0
............................

declaração de repetiçãode Ruby

NOTA: 1.9 e versões posteriores não suportam a repetição uso em um loop.

gramática

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 1..5
   retry if some_condition # 重新从 i == 1 开始
end

Exemplos

#!/usr/bin/ruby
# -*- coding: UTF-8 -*-

for i in 1..5
   retry if  i > 2
   puts "局部变量的值为 #{i}"
end

Isso produz os seguintes resultados, e entrará num ciclo infinito:

局部变量的值为 1
局部变量的值为 2
局部变量的值为 1
局部变量的值为 2
局部变量的值为 1
局部变量的值为 2
............................