Laços (Loops)
Agora você será introduzido em um dos mais importantes aspectos das linguagens de programação: laços (loops).
Usando seu editor de textos favorito, digite o seguinte:
O que você imagina que esta peça de código
faça? Salve o arquivo como loops.rb e execute-o.
Como você pode ver, o conteúdo do laço foi
executado 4 vezes. Este é o laço mais direto que
Ruby oferece.
Contando
Aqui está outro exemplo. Agora nós usamos nosso conhecimento de variáveis pra imprimir os números de 1 até 5.
Lembre-se que o método Integer#to_s converte o
inteiro em uma string, então nós podemos
adicioná-lo à string "count = ".
Quando rodar isso você terá:
Soma de números
Supomos que eu queira saber a soma dos números de 1 até 11. Já sabemos como obter os números de 1 até 11. Tudo o que precisamos é adicionar isso:
Você deverá obter algo assim:
Declarações multi-linhas
A declaração puts no último exemplo pareceu um tanto longa. O que acontece se você digitar uma linha muito longa?
Você pode fazer linhas "quebrarem" inserindo uma contrabarra - \ - em todo fim de linha. Veja este exemplo no irb.
Este '=> nil' simplesmente diz que puts não
retorna nada.
Em outras palavras, se você digitou:
variable = puts "hello" |
A variable vai terminar contendo nada. E o objeto em Ruby para "nada" é nil.
O que você deve prestar atenção é o fato de expandir o puts em duas linhas. VAmos usar isso que aprendemos para reescrever a linha do nosso programa:
Você pode usar isso para imprimir na tela da forma que desejar:
Observe. Você não tinha feito o programa mostrar como
acima. Fiz isso porque acredito que fica melhor. Quando você
rodar o programa, verá:
|
Cuidado:
A contrabarra '\' deve ser o último caracter na linha. Se você deixar um espaço depois dele, vai gerar uma mensagem de erro. |
Mais exemplos
Vamos tentar uma contagem regressiva.
Isso ilustra uma série de coisas. Aqui estão alguns exemplos.
Contagem regressiva
Digite este programa:
Isto produz:
Contando uma variável algumas vezes
Este laço também trabalha com variáveis.
Neste exemplo, nós computamos o fatorial de um número. O fatorial de um número n é o produto:
1 x 2 x 3 x ... x n
O símbolo para isso é n!. Neste exemplo nós computamos:
6! = 6 x 5 x 4 x 3 x 2 x 1 = 720
Digite e execute este programa:
Exercícios
1- Qual é a soma de todos os inteiros entre 1 e 1000?
2- Qual é a soma de todos os inteiros entre 10 e 100?
3- Aqui está o problema mais difícil. Existe uma música assim:
No primeiro dia de Natal, meu amor enviou-me uma pêra.
No segundo dia de Natal, meu amor me enviou duas pombas e uma pêra.
...
Se isso repetiu-se durante 12 dias de Natal, quantos presentes seu amor
lhe enviou no Natal?
(Dica: Você vai precisar de um loop dentro de outro).