Acho que o que o Marcio disse isso pois o *and* computa ambos os lados da
expressão, para então retornar um boolean (ou continuar a sequencia de
computar mais 'ands' e 'ors')


$x = 0;
$x and $x++; # $x = 1

$y = 0;
$y && $y++; # $y = 0


perl -e 'use v5.14.0;use v5.14.0; my $m=0; say $m && $m++; say $m'
*0*
0

perl -e 'use v5.14.0;use v5.14.0; my $m=0; say $m and $m++; say $m'
*0*
1


o retorno foi o mesmo, mas o comportamento não.

2012/11/28 Bruno Buss <[email protected]>

> @Thiago e Marcio:
> O que vocês estão falando? Pelo amor de Larry...
> O operador 'and' é *exatamente* igual ao '&&', tirando o nível de
> precedência... onde o 'and' é um dos que tem a precedência mais baixa.
> (perldoc perlop por favor...)
> Ou seja, você pode fazer tudo que faz com '&&' com 'and', menos contar com
> short-circuit em condicionais ;)
>



-- 
Saravá,
Renato CRON
http://www.renatocron.com/blog/
@renato_cron <http://twitter.com/#!/renato_cron>
_______________________________________________
Rio-pm mailing list
[email protected]
http://mail.pm.org/mailman/listinfo/rio-pm

Responder a