Os programas de computador geralmente precisam executar ações várias vezes, não apenas uma vez. Por exemplo, um programa que imprima todo o seu novo email precisará imprimir cada email de uma lista, não apenas um email. Para fazer isso, construções chamadas loops são usadas. Um loop repetirá o afirmações dentro dele várias vezes até que alguma condição seja atendida.
Enquanto Loops
O primeiro tipo desses loops é um loop while. Enquanto os loops executam todas as instruções contidas neles, desde que a instrução condicional permaneça verdadeira. Neste exemplo, o loop aumenta continuamente o valor da variável Eu por um. Contanto que a declaração condicional eu <10 for verdade, o loop continuará executando a instrução i + = 1 o que adiciona um à variável
#! / usr / bin / env ruby
i = 0
enquanto eu <10
i + = 1
fim
coloca i
Até Loops
Até que os loops sejam quase idênticos aos loops while, exceto pelo loop, desde que a instrução condicional seja falso. O loop while fará um loop enquanto a condição for verdadeira, o loop while fará um loop
até a condição é verdadeira. Este exemplo é o equivalente funcional do exemplo do loop while, exceto o uso de um loop while, até i == 10 . A variável é incrementada em um até seu valor ser igual a dez.#! / usr / bin / env ruby
i = 0
até i == 10
i + = 1
fim
coloca i
Loops do "Ruby Way"
Embora os loops de tempo e até mais tradicionais sejam usados nos programas Ruby, os loops baseados em fechamento são mais comuns. Nem é necessário entender o que são fechamentos ou como eles funcionam para usar esses loops; na verdade, eles são vistos como loops normais, apesar de serem muito diferentes.
The Times Loop
o vezes loop pode ser usado em qualquer variável que contenha um número ou usado em um número em si. No exemplo a seguir, o primeiro loop é executado 3 vezes e o segundo loop é executado, no entanto, muitas vezes é inserido pelo usuário. Se você digitar 12, ele será executado 12 vezes. Você notará que o loop do tempo usa o ponto sintaxe (3. vezes) em vez da sintaxe da palavra-chave usada pelo loop while e till. Isso tem a ver com a forma como o loop de tempos funciona sob o capô, mas é usado da mesma maneira por um tempo ou até o loop ser usado.
#! / usr / bin / env ruby
3. vezes
coloca "Isso será impresso 3 vezes"
fim
print "Digite um número:"
num = gets.chomp.to_i
num.times do
coloca "Ruby é ótimo!"
fim
The Each Loop
o cada loop é talvez o mais útil de todos os loops. Cada loop pega uma lista de variáveis e executa um bloco de instruções para cada uma delas. Como quase todas as tarefas de computação usam listas de variáveis e precisam fazer algo com cada uma delas na lista, cada loop é de longe o loop mais comum em Código Ruby. Uma coisa a observar aqui é o argumento para o bloco de declarações do loop. O valor da variável atual que o loop está olhando é atribuído ao nome da variável em caracteres de pipe, que é | n | no exemplo Na primeira vez que o loop é executado, o n A variável será igual a "Fred", na segunda vez que o loop for executado, será igual a "Bob" e assim por diante.
#! / usr / bin / env ruby
# Uma lista de nomes
nomes = ["Fred", "Bob", "Jim"]
names.each do | n |
coloca "Olá # {n}"
fim