Ok, estava errado sobre o short circuit =P<div><div><br></div><div>[ ]'s<br><div><div><br><div class="gmail_quote">2012/11/28 Blabos de Blebe <span dir="ltr"><<a href="mailto:blabos@gmail.com" target="_blank">blabos@gmail.com</a>></span><br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">TRUCO!!!<br>
<br>
perl -E '$a=0; 0 and $a=1; say $a'<br>
perl -E '$a=0; say 0 and $a=1; say $a'<br>
<br>
A pegadinha fica como exercício...<br>
<br>
<br>
<br>
2012/11/28 Bruno Buss <<a href="mailto:bruno.buss@gmail.com">bruno.buss@gmail.com</a>>:<br>
<div class="HOEnZb"><div class="h5">> Sim, o seu exemplo é a perfeita demonstração do que eu disse: a única<br>
> diferença é que você não consegue fazer short-circuit com 'and', só com<br>
> '&&'.<br>
><br>
> A menos que o sinal de <= e >= agora tenha algum side-effect como o '++', eu<br>
> não particularmente não consigo chegar numa linha razoável de raciocínio<br>
> para reclamar do &&, and e precedências no if do Aureliano.<br>
><br>
> [ ]'s<br>
><br>
> 2012/11/28 Renato Santos <<a href="mailto:renato.cron@gmail.com">renato.cron@gmail.com</a>><br>
>><br>
>> Acho que o que o Marcio disse isso pois o and computa ambos os lados da<br>
>> expressão, para então retornar um boolean (ou continuar a sequencia de<br>
>> computar mais 'ands' e 'ors')<br>
>><br>
>><br>
>> $x = 0;<br>
>> $x and $x++; # $x = 1<br>
>><br>
>> $y = 0;<br>
>> $y && $y++; # $y = 0<br>
>><br>
>><br>
>> perl -e 'use v5.14.0;use v5.14.0; my $m=0; say $m && $m++; say $m'<br>
>> 0<br>
>> 0<br>
>><br>
>> perl -e 'use v5.14.0;use v5.14.0; my $m=0; say $m and $m++; say $m'<br>
>> 0<br>
>> 1<br>
>><br>
>><br>
>> o retorno foi o mesmo, mas o comportamento não.<br>
>><br>
>> 2012/11/28 Bruno Buss <<a href="mailto:bruno.buss@gmail.com">bruno.buss@gmail.com</a>><br>
>>><br>
>>> @Thiago e Marcio:<br>
>>> O que vocês estão falando? Pelo amor de Larry...<br>
>>> O operador 'and' é *exatamente* igual ao '&&', tirando o nível de<br>
>>> precedência... onde o 'and' é um dos que tem a precedência mais baixa.<br>
>>> (perldoc perlop por favor...)<br>
>>> Ou seja, você pode fazer tudo que faz com '&&' com 'and', menos contar<br>
>>> com short-circuit em condicionais ;)<br>
>><br>
>><br>
>><br>
>><br>
>> --<br>
>> Saravá,<br>
>> Renato CRON<br>
>> <a href="http://www.renatocron.com/blog/" target="_blank">http://www.renatocron.com/blog/</a><br>
>> @renato_cron<br>
>><br>
>><br>
>> _______________________________________________<br>
>> Rio-pm mailing list<br>
>> <a href="mailto:Rio-pm@pm.org">Rio-pm@pm.org</a><br>
>> <a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">http://mail.pm.org/mailman/listinfo/rio-pm</a><br>
><br>
><br>
><br>
><br>
> --<br>
> Bruno C. Buss<br>
> <a href="http://www.brunobuss.net" target="_blank">http://www.brunobuss.net</a><br>
><br>
> _______________________________________________<br>
> Rio-pm mailing list<br>
> <a href="mailto:Rio-pm@pm.org">Rio-pm@pm.org</a><br>
> <a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">http://mail.pm.org/mailman/listinfo/rio-pm</a><br>
_______________________________________________<br>
Rio-pm mailing list<br>
<a href="mailto:Rio-pm@pm.org">Rio-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">http://mail.pm.org/mailman/listinfo/rio-pm</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>Bruno C. Buss<br><a href="http://www.brunobuss.net" target="_blank">http://www.brunobuss.net</a><br>
</div></div></div></div>