[SP-pm] grep e map

Daniel de Oliveira Mantovani daniel.oliveira.mantovani at gmail.com
Sun May 29 18:50:47 PDT 2011


2011/5/29 Stanislaw Pusep <creaktive em gmail.com>:
> Falando em programação funcional e extrapolando o tópico, alguém tem uma boa
> referência focada em Perl?

Higher-Order Perl Transforming Programs with Programs - Morgan Kaufmann

> Mal consigo compreender reduce() do List::Util :(
>
> ABS()
>
>
>
> 2011/5/29 Tiago Peczenyj <tiago.peczenyj em gmail.com>
>>
>> A melhor analogia a subrotina grep do perl é o comando grep no unix.
>>
>> $ grep 'condição' arquivo
>>
>> e o grep imprime na stdout as linhas do arquivo que satisfazem a condição.
>>
>> Agora o map é engraçado pois ele não tem equivalente no mundo shell,
>> mas sim no mundo de programação funcional, acredito que ja foi muito
>> explorado aqui.
>>
>> 2011/5/29 Satoshi Hayazaki <heavennevertouchedearthlyface em gmail.com>:
>> >
>> >
>> > 2011/5/29 Renato Santos <renato.cron em gmail.com>
>> >>
>> >> O map gera uma nova lista com o resultado que você retornou
>> >> (percorrendo
>> >> cada item da[s] lista[s] que você passou)
>> >> e o grep retorna o conteudo original dependendo do resultando que você
>> >> retornou no código para cada um dos item[s].
>> >> Look this:
>> >> @quatroZeros = map { 0 } qw / a b c d/;
>> >> @vazio = grep { 0 } qw / a b c d/;
>> >> ----------------------
>> >> @quatroUm = map { 1 } qw / a b c d/;
>> >> @abc_e_d = grep { 1 } qw / a b c d/;
>> >>
>> >
>> >
>> > Adorei esse exemplo. Eu que não conhecia nenhum dos dois muito bem (só
>> > de
>> > ouvir falar, mas nunca tinha usado) consegui entender perfeitamente com
>> > isso. RenatoCRON++
>> > =begin disclaimer
>> >   Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>> >  SaoPaulo-pm mailing list: SaoPaulo-pm em pm.org
>> >  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>> > =end disclaimer
>> >
>> >
>>
>>
>>
>> --
>> Tiago B. Peczenyj
>> Linux User #405772
>>
>> http://pacman.blog.br
>> =begin disclaimer
>>   Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>  SaoPaulo-pm mailing list: SaoPaulo-pm em 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 em pm.org
>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
> =end disclaimer
>
>



-- 
"If you’ve never written anything thoughtful, then you’ve never had
any difficult, important, or interesting thoughts. That’s the secret:
people who don’t write, are people who don’t think."


More information about the SaoPaulo-pm mailing list