[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