[Rio-pm] Chaves de hash

Blabos de Blebe blabos em gmail.com
Quarta Novembro 28 17:42:00 PST 2012


TRUCO!!!

perl -E '$a=0; 0 and $a=1; say $a'
perl -E '$a=0; say 0 and $a=1; say $a'

A pegadinha fica como exercício...



2012/11/28 Bruno Buss <bruno.buss em gmail.com>:
> Sim, o seu exemplo é a perfeita demonstração do que eu disse: a única
> diferença é que você não consegue fazer short-circuit com 'and', só com
> '&&'.
>
> A menos que o sinal de <= e >= agora tenha algum side-effect como o '++', eu
> não particularmente não consigo chegar numa linha razoável de raciocínio
> para reclamar do &&, and e precedências no if do Aureliano.
>
> [ ]'s
>
> 2012/11/28 Renato Santos <renato.cron em gmail.com>
>>
>> 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 <bruno.buss em gmail.com>
>>>
>>> @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
>>
>>
>> _______________________________________________
>> Rio-pm mailing list
>> Rio-pm em pm.org
>> http://mail.pm.org/mailman/listinfo/rio-pm
>
>
>
>
> --
> Bruno C. Buss
> http://www.brunobuss.net
>
> _______________________________________________
> Rio-pm mailing list
> Rio-pm em pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm


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