Hummm.....Ok!
Pessoal...acho que caiu a ficha aqui.
Obrigado mais uma vez pela ajuda!

Abraço,
Flávio


On 29-05-2011 22:25, Alexei Znamensky wrote:
Flávio,

2011/5/29 "Flávio R. Lopes" <[email protected] <mailto:[email protected]>>
[...]

    [1] https://github.com/russoz/perltests/blob/master/test-grep.pl
    É aqui que não entendo porque o Perl, digamos, "não segue com a
    lógica do bloco", ou seja, ele não faz o exemplo (abaixo) do MAP.
    Aqui ele somente coloca no meu array @result somente o "itens" do
    array de entrada que correspondem A PRIMEIRA CONDIÇÃO do bloco, ou
    seja "X > 4", que no caso correspondem: result = 5 6 7 8 9.
    É neste ponto que não consigo entender porque ele não segue
    analisando TODA estrutura do bloco: { $_ > 4 ? 2 * $_ : 0 * $_ },
    ou seja, ele só me retorna os valores que deixam a expressão
    verdadeira, ou seja, somente os itens que são maiores que 4 ($_ > 4).
    Pelo que estou vendo, quando se usa o Grep, ele me traz os itens
    do array de entrada que "deixa verdadeira" as condições do Bloco?
    Seria mais ou menos isso?


Sim, exatamente isso. E porque, no Perl, o valor 0 (zero) é considerado 'falso' e valores != 0 (não-zero) são considerados 'verdadeiro'. Assim, o grep funciona da seguinte forma: retorne todos os elementos do array de entrada *para os quais a execução do { BLOCO } retorne VERDADEIRO*.

Os exemplos do Ulisses, também neste thread, foram melhores até que os meus. Dê uma olhada.

[]s,
--
Alexei "RUSSOZ" Znamensky
[russoz_gmail_com] [russoz.wordpress.com <http://russoz.wordpress.com>] [www.flickr.com/photos/alexeiz <http://www.flickr.com/photos/alexeiz>] [https://github.com/russoz]
Only love / Can bring the rain / That makes you yearn to the sky


=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

Responder a