[Cascavel-pm] [OFF] Bombril [Era: Re: Somar elementos numericos de um array]

Igor Sutton Lopes igor.sutton em gmail.com
Segunda Abril 9 09:34:09 PDT 2007


Oi,

On 2007/04/09, at 17:21, Víctor A. Rodríguez wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Olá,
>
> Igor Sutton Lopes wrote:
>
>> Acredito que vale a pena estudar um pouco os módulos padrão do Perl,
>> antes de fazer coisas como esta. Existem os módulos List::Util,
>> Hash::Util e Scalar::Util. Aqui está a explicação da razão destes
>> módulos existirem (trecho extraído de 'perldoc Scalar::Util':

Acredito que devo colar denovo o trecho que foi apagado daqui:

        "Scalar::Util" contains a selection of subroutines that  
people have
        expressed would be nice to have in the perl core, but the  
usage would
        not really be high enough to warrant the use of a keyword,  
and the size
        so small such that being individual extensions would be  
wasteful.

Acredito que eu não precise traduzir, mas:

1. estão no core do perl;
2. são problemas corriqueiros;
3. resolvem problemas comuns.

Gostaria que *alguém* tivesse lido a página manual ou o código do  
List::Util para ver o que ela proporciona, antes de mais nada.

>
> ...
>
>> Minha dica aqui é: leiam a documentação dos módulos que vêm com o
>> Perl, aprendam sobre eles, façam apontamentos como 'módulos que
>> gostaria de usar' e coisas do tipo. Anotem em algum lugar o que eles
>> fazem e consultem quando tiverem algum problema. Reservem alguns
>> minutos do seu dia para ler o Perlmonks[2] e ver que tipo de dúvidas
>> as pessoas tem e quais são as suas respostas. Ler sobre problemas
>> diferentes podem dar-lhes soluções para os problemas que possuem.
>
>
> A pergunta da Patty foi : "Pessoal.. tem como eu somar  
> elementos ... sem
> precisar do for?"
> O exemplo foi com o array do 10 posiçoes, no mais, então a usagem do
> List::Util acho não e a melhor opcão (se vocé tem o array maior então
> uma bõa opcão e usar Perlmonks, CPAN e outros).

Certo. Então:

<code>
use List::Util qw(sum);

my @array = (1 .. 10);
my $resultado = sum(@array);
</code>

é pior que:

<code>
my @array = (1 .. 10);
my $resultado;
$resultado += $_ for @array;
</code>

Agora eu estou começando a entender a razão que *todo* o mundo que  
não conhece perl fica com medo de fazê-lo, argumentando que código  
perl é *write once*.

Gostaria de ver os argumentos de quem afirma que a segunda opção -ou  
variação- é melhor do que a primeira, em aspectos de performance,  
legibilidade, etc.

--
Igor Sutton
igor.sutton em gmail.com



-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://mail.pm.org/pipermail/cascavel-pm/attachments/20070409/e37bfbc0/attachment-0001.html 
-------------- Próxima Parte ----------
Um anexo não texto foi limpo...
Nome  : PGP.sig
Tipo  : application/pgp-signature
Tam   : 186 bytes
Descr.: This is a digitally signed message part
Url   : http://mail.pm.org/pipermail/cascavel-pm/attachments/20070409/e37bfbc0/attachment-0001.bin 


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