O Laço For
Nesta parte do tutorial Perl nós iremos falar sobre o laço do tipo for em Perl. Algumas pessoas o chamam de laço for no estilo C, mas na verdade essa estrutura está disponível em diversas linguagens de programação.
o laço for em Perl
A palavra reservada for pode ser utilizada em Perl de duas formas. Pode ser usada da mesma forma que um laço foreach e pode também ser usada como o laço tradicional de três parâmetros. Essa forma é também conhecida como estilo C, porém existe em outras linguagens.
Eu irei descrever como funciona, apesar de que prefiro escrever o
As duas palavras chave for e foreach podem ser usadas como
sinônimos. O Perl irá descrobrir qual você deseja utilizar.
O laço for escrito em estilo C possui três partes na seção de controle.
De forma geral o código se parece da seguinte forma:
Como um exempĺo veja o código abaixo:
A parte INICIALIZAÇÃO será executada apenas uma vez quando a execução do código chegar ao laço.
Então, imediatamente após a inicialização o TESTE é executado. Se for falso, todo o laço é evitado.
Se o teste for verdadeiro então o CORPO é executado seguido pelo PASSO.
(Para o significado real de VERDADEIRO ou FALSO, veja valores booleanos em Perl.)
Então novamente o TESTE é avaliado e o ciclo continua enquanto o valor do TESTE retornar verdadeiro.
Se parece da seguinte forma:
O laço acima - indo de 0 a 9 pode também ser escrito em um laço foreach
e achoi até que a ideia fica mais clara:
Como eu havia escrito antes ambas formas são sinÔnimas então algumas pessoas
usam a palavra for mas escrevem um laço foreach dessa forma:
A INICIALIZAÇÃO serve, é claro, apra inicializar variáveis.
O TESTE é uma forma de expressão booleana que testa se o laço deverá continuar ou não.
è executada pelo menos uma vez. O TESTE é executado uma vez a mais do que o CORPO e o PASSO.
O CORPO é um conjunto de declarações, normalmente é algo que nós desejamos que seja executado
repetidamente, apesar de que as vezes um CORPO vazio pode fazer sentido também.
O PASSO é outro conjunto de ações que normalmente é utilizada para aumentar ou diminuir o valor
de um índice. Essa parte também pode ser deixada em branco se por exemplo, nós fazemos essa
mudança dentro do CORPO.
Você pode escrever um laço infinito utilizando o laço for:
As pessoas normalmente escrevem com o while dessa forma:
Também é descrito na parte sobre laços while em Perl.
Você pode encontrar a descrição oficial do laço for na seção perlsyn da
documentação do Perl.
for (INICIALIZAÇÃO; TESTE; PASSO) {
CORPO;
}
for (my $i=0; $i <= 9; $i++) {
print "$i\n";
}
INICIALIZAÇÃO
TESTE
CORPO
PASSO
TESTE
CORPO
PASSO
...
TESTE
foreach
foreach my $i (0..9) {
print "$i\n";
}
for my $i (0..9) {
print "$i\n";
}
As partes de um laço for em Perl
Laços infinitos
for (;;) {
# faça algo
}
while (1) {
# faça algo
}
perldoc
Published on 2013-05-08