2012/12/4 Blabos de Blebe <[email protected]>:
> Até onde eu sei, não existe operador de short circuit. O short circuit
> é uma propriedade, uma otimização na avaliação de expressões lógicas.
Sim, existem operadores de "short circuit" que são aqueles que podem
ou não completar a avaliação ("evaluation") do segundo argumento
baseado no primeiro. Este é o caso dos operadores lógicos
and or xor err
&& || ^ //
Assim em
$a = 0; ++$a || ++$a; $a # $a termina como 1
o segundo "++$a" nunca vai ser executado, mas em
$a = -1; ++$a || ++$a; $a
o primeiro "++$a" deixa 0 em $a e o segundo "++$a" deixa 1.
Você não pode representar estes operadores como funções
f( operando1, operando2 )
onde todos os operandos são calculados antes da invocação de "f" - que
é o mesmo de caso de se representar os comandos condicionais "if" e
"unless". Aposto que vocês lembraram das aulas de linguagem
funcionais, "applicative vs normal order evaluation", etc.
_______________________________________________
Rio-pm mailing list
[email protected]
http://mail.pm.org/mailman/listinfo/rio-pm