[SP-pm] Operador lógico de negação, verdadeiro e falso [WAS: Boas vindas ao Daniel]

Eden Cardim edencardim em gmail.com
Quinta Maio 22 08:48:16 PDT 2008


2008/5/22 Solli Honorio <shonorio em gmail.com>:
>
> mas também este código não é um bom exemplo, além de não demostrar o
> 'verdadeiro' perl. o operador de laço (mais conhecido como loop) 'for' pode
> ser escrito de várias formas, a mais fluente em perl seria : 'for my $i
> (1..4) {', então o código que você escreve poderia ficar assim:
> <code>
> $array[$_] = 'feliz' for (0..3);
> </code>
>
> ... ou assim :
>
> <code>
> @array = map { 'feliz' } 0..3;
> </code>
>
> ... ou mais um monte de outras formas legíveis e elegantes.

Coitado do multiplicador de listas, o bichinho vive no esquecimento.
Daniel, você pode fazer assim também:

@array = ('feliz') x 3;

Mas isso não faz o mesmo que o código original faz, que no caso seria
algo assim:

defined or $_ = 'feliz' for @array[1..3];

E não se esqueça que em perl os arrays são indexados a partir de 0 por
padrão, então esse código vai criar um array com 4 elementos, deixando
o primeiro elemento ($array[0]) vazio.

P.S.: Troca esse livro do Deitel pelo "Programação Perl" do Larry
Wall: http://www.linuxmall.com.br/index.php?product_id=220

-- 
edenc.vox.com


Mais detalhes sobre a lista de discussão SaoPaulo-pm