[Cascavel-pm] [map]

André Garcia Carneiro andre.garcia.carneir em terra.com.br
Sexta Janeiro 26 07:18:46 PST 2007



Hummm... não sabia disso, valeu!!!

Poderia fazer um comparativo com o foreach, se não for incomodar???





Cheers!


> Olá André,
> 
> > Por quê??
> >
> > Acho que "visualmente" falando é mais fácil ler
> > map {}@list; do que
> > my @list;
> > foreach $item(@list)
> > {
> > #blablabla
> > }
> 
> Além de melhorar a legibilidade, map cria e devolve para o caller um
> array com os resultados da última expressão que você executou dentro
> do block. Isso significa que você vai ocupar memória desnecessária.
> 
> É OK para três operações, poré sem você tiver uma lista com 1_000_000
> de iterações, e você imprimir algo na tela, map criará e populará uma
> lista com 1_000_000 elementos, com valor 1.
> 
> Veja o código a seguir:
> 
> <code>
> use strict;
> use warnings;
> 
> use Devel::Size qw(total_size);
> use Smart::Comments;
> 
> my @array = map { 1 } ( 1 .. 1_000_000 );
> 
> ### total_size: total_size( \@array )
> 
> </code>
> 
> A saída dele é:
> 
> ### total_size: 20000052
> 
> Este valor em bytes.
> 
> HTH!
> 
> -- 
> Igor Sutton Lopes <igor.sutton em gmail.com>
> _______________________________________________
> Cascavel-pm mailing list
> Cascavel-pm em pm.org
> http://mail.pm.org/mailman/listinfo/cascavel-pm
> 
> E-mail classificado pelo Identificador de Spam Inteligente Terra.
> Para alterar a categoria classificada, visite
>
http://mail.terra.com.br/protected_email/imail/imail.cgi?+_u=andre.garcia.carneir&_l=1,1169823944.457579.6730.alcala.hst.terra.com.br,4384,Des15,Des15
> 
> Esta mensagem foi verificada pelo E-mail Protegido Terra.
> Scan engine: McAfee VirusScan / Atualizado em 25/01/2007 / Versão: 5.1.00/4949
> Proteja o seu e-mail Terra: http://mail.terra.com.br/
> 
> 

--
André Garcia Carneiro
Developer(Perl/PHP)
Member of "São Paulo Perl Mongers" - http://sao-paulo.pm.org



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