[SP-pm] Melhor forma para...

Andre Carneiro andregarciacarneiro at gmail.com
Tue Jul 16 09:35:20 PDT 2013


http://search.cpan.org/~cjfields/BioPerl-1.6.901/Bio/Tools/SeqStats.pm


2013/7/16 Tiago Peczenyj <tiago.peczenyj at gmail.com>

> Sempre tem uma forma diferente:
>
> https://gist.github.com/anonymous/6009717
>
> não quer dizer que seja melhor ou pior, basta ver se é legivel ou não.
>
> talvez o reduce seja ilegivel, mas se vc utilizar um map talvez fique
> melhor.
>
> vai do seu gosto
>
>
> 2013/7/16 Blabos de Blebe <blabos at gmail.com>
>
>> Opa,
>>
>> Duas coisas. Na verdade três.
>>
>> Seu código tá até bem limpo, seguindo algumas boas práticas até.
>>
>> ...
>>
>> Mas pode melhorar :)
>>
>> Não use bareword para descritor de arquivo, use uma variável. Para lhe
>> apontar a documentação correta "I summon garu".
>>
>> open my $fh, '<', 'filename.txt' or die 'Cannot open';
>>
>> Parêntesis em Perl são opcionais em alguns casos, sendo que usar ou não
>> usar muitas vezes é questão de estilo. Em alguns outros casos são
>> obrigatórios. Na dúvida, use.
>>
>> ...
>>
>> Para imprimir hash com elementos em ordem, eu gosto e usar *slice* ao
>> invés de loop.
>>
>> my %hash = ( etc => 1, bar => 3, foo => 5)
>> my @order = qw{ foo bar etc };
>> my @ordered_values = @{hash}{ @order };  ## Slice. Chaves a mais de
>> propósito.
>> print join( ';', @ordered_values );
>>
>> Você pode usar o sort por chave:
>> my @order = sort { $a cmp $b} keys %hash;
>>
>> Note que @order = sort { $a <=> $b} keys %hash;
>> Não funciona.
>>
>> Ou a forma mais curta:
>> @order = sort keys %hash;
>>
>> Ordenando por valor decrescente
>> @order = sort { $hash{$b} <=> $hash{$a}} keys %hash;
>>
>> Novamente, @order = sort { $hash{$b} cmp $hash{$a}} keys %hash;
>> Não funciona.
>>
>>
>> ...
>>
>> Talvez, se o objetivo for só contar e mais nada, usar expressão regular
>> pode ser mais rápido, mas como regexp está fora dos meus domínios então
>> posso estar errado.
>>
>> Mede aí e depois conta...
>>
>>
>> []'s
>>
>>
>>
>> 2013/7/15 Renato Santos <renato.cron at gmail.com>
>>
>>> Acredito que não há motivos para não utilizar o *for *nesse caso,
>>>
>>> até porque, não parece ter muitas outras soluções,
>>>
>>> se for pra deixar o codigo menor, ficará menos legivel. se for pra
>>> aumentar a velocidade, você pode reescrever em alguma linguagem compilada,
>>> tipo C, só que vai dar mais trabalho!
>>>
>>>
>>> 2013/7/15 Rafael Silveira <dev.silveira at yahoo.com>
>>>
>>>>  Boa noite Renato.
>>>>
>>>> Na verdade, não importa não!
>>>> Mas, eu gostaria de fazer da melhor forma possível, inclusive evitar
>>>>  usar outro for.
>>>> Estava pensando em fazer algo parecido, porém salvar num array, e
>>>> mandar pro arquivo com um join(' ', $var).
>>>>
>>>> Mas mesmo assim utilizaria o for.
>>>>
>>>> Muito obrigado a todos! :D
>>>>
>>>> []'s
>>>>
>>>> =begin disclaimer
>>>>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>>  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>>>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>>> =end disclaimer
>>>>
>>>>
>>>
>>>
>>> --
>>> Saravá,
>>> Renato CRON
>>> http://www.renatocron.com/blog/
>>> @renato_cron <http://twitter.com/#!/renato_cron>
>>>
>>> =begin disclaimer
>>>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>> =end disclaimer
>>>
>>>
>>
>> =begin disclaimer
>>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>> =end disclaimer
>>
>>
>
>
> --
> Tiago B. Peczenyj
> Linux User #405772
>
> http://about.me/peczenyj
>
> =begin disclaimer
>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
> =end disclaimer
>
>


-- 
André Garcia Carneiro
Software Engineer
(11)982907780
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20130716/3abb9a33/attachment-0001.html>


More information about the SaoPaulo-pm mailing list