[Rio-pm] Chaves de hash

Adriano Ferreira a.r.ferreira em gmail.com
Terça Dezembro 4 08:55:05 PST 2012


2012/12/4 Blabos de Blebe <blabos at gmail.com>:
> 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.


Mais detalhes sobre a lista de discussão Rio-pm