Desculpa, não tinha visto que o link já tinha sido informado. Mas mesmo assim, vale a pena comprar o livro.
Solli M. Honório Em 30 de maio de 2011 12:34, Solli Honorio <[email protected]> escreveu: > > > Em 29 de maio de 2011 22:50, Daniel de Oliveira Mantovani < > [email protected]> escreveu: > > 2011/5/29 Stanislaw Pusep <[email protected]>: >> > 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 >> > > É de bom tom indicar o link com o material informado (se ele tiver), neste > caso o livro está disponível legalmente na internet - > http://hop.perl.plover.com/ > > >> >> > Mal consigo compreender reduce() do List::Util :( >> > >> > ABS() >> > >> > >> > >> > 2011/5/29 Tiago Peczenyj <[email protected]> >> >> >> >> 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 <[email protected]>: >> >> > >> >> > >> >> > 2011/5/29 Renato Santos <[email protected]> >> >> >> >> >> >> 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: [email protected] >> >> > 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: [email protected] >> >> 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: [email protected] >> > 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." >> =begin disclaimer >> Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ >> SaoPaulo-pm mailing list: [email protected] >> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> >> =end disclaimer >> >> > > > -- > "o animal satisfeito dorme". - Guimarães Rosa > -- "o animal satisfeito dorme". - Guimarães Rosa
=begin disclaimer Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ SaoPaulo-pm mailing list: [email protected] L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> =end disclaimer
