Perl Brasil

Pesquisar

Documentação

Artigos

Planeta

Eventos

Comunidade

r2 - 09 May 2007 - NelsonFerraz

Como criar um array de n elementos iguais

Problema

Você quer criar uma array com "n" elementos iguais.

Solução

my @foo = (1) x 100;

Discussão

Para criar um array pequeno, os valores poderiam ser definidos individualmente:

my @foo = (1, 1, 1, 1, 1, 1, 1, 1, 1);

A desvantagem desse método, para além do fato de exigir tantas entradas quantas forem necessárias, é que é difícil visualizar. Você consegue dizer, sem contar, quantos elementos tem esse array?

Por isso, a solução mais comum consiste em utilizar um loop para inicializar os valores de um array:

my @foo;
push @foo, 1 for ( 1..100 );

Eis, então, que Eden Cardim apresenta uma solução mais curta e elegante, em uma partida de Perl Golf:

my @foo = (1) x 100;

Um hole in one!

Comentários