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 <[email protected]>: > 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 <[email protected]> >> >> 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 >> >> >> _______________________________________________ >> Rio-pm mailing list >> [email protected] >> http://mail.pm.org/mailman/listinfo/rio-pm > > > > > -- > Bruno C. Buss > http://www.brunobuss.net > > _______________________________________________ > Rio-pm mailing list > [email protected] > http://mail.pm.org/mailman/listinfo/rio-pm _______________________________________________ Rio-pm mailing list [email protected] http://mail.pm.org/mailman/listinfo/rio-pm
