O exemplo do junio é bacana:
use Data::Printer;
my $a = 1;
my $b = 0;
my $c = $a && $b;
my $d = $a and $b;
p $c;
p $d;
> Date: Tue, 4 Dec 2012 15:50:13 -0200
> From: a.r.ferre...@gmail.com
> To: rio-pm@pm.org
> Subject: Re: [Rio-pm] Chaves de hash
>
> 2012/12/4 Aureliano Guedes :
> > mas quand
2012/12/4 Aureliano Guedes :
> mas quando trabalhar bit-a-bit acho que o && é mais apropiado
Para trabalhar bit-a-bit, os operadores bit-a-bit como o &
provavelmente seriam mais adequados.
Bitwise And
http://perldoc.perl.org/perlop.html#Bitwise-And
Bitwise Or and Exclusive Or
http://perldoc.perl
Gente, não tem diferença na comparação!!
é só na ordem que as coisas ocorrem conforme as coisas foram escritas!!
alguem ai ja disse:
$c = $a && $b *COMPILA PRA *$c = ( $a && $b )
$c = $a and $b *COMPILA PRA* ($c = $a) and $b
2012/12/4 Aureliano Guedes
> Acho que não é nada impactante a difere
Ok, segundo o perldoc:
Binary "and" returns the logical conjunction of the two surrounding
expressions. It's equivalent to && except for the very low
precedence. This means that it short-circuits: the right
expression is evaluated only if the left expression is true.
Acho que não é nada impacta
last;
Em 4 de dezembro de 2012 14:54, Blabos de Blebe escreveu:
> > (my $d = $a) and $b;
>
> Correto, conforme
> http://perldoc.perl.org/perlop.html#Operator-Precedence-and-Associativity
>
> A pegadinha (deixada como exercício) é que o operador de atribuição
> tem maior precedência que o operado
> (my $d = $a) and $b;
Correto, conforme
http://perldoc.perl.org/perlop.html#Operator-Precedence-and-Associativity
A pegadinha (deixada como exercício) é que o operador de atribuição
tem maior precedência que o operador 'and'.
Por isso os exemplos usando atribuição estão se cagando todos:
$c =
2012/12/4 Blabos de Blebe :
> 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 a
2012/12/4 Aureliano Guedes :
> Alguem passa um exemplo onde esteja evidente a diferença entre & && e and!
> Um caso onde em um de certo e em outro não!
Não acredite em tudo que você ouve, mesmo na lista da Rio-pm. Dizer
que usar "and" em
if ($keys <= $min and $keys >= $max) {
é um erro, é um e
2012/11/30 Aureliano Guedes :
> Quanto ao and e o &&, o && consome menos memória que o and, por ser short
> circuits??
Não. A única diferença é a precedência. Ambos fazem "short circuit".
pirl @> sub { $x and $y }
sub {
package Shell::Perl::sandbox;
use warnings;
use strict 'refs';
brinque com os valores
https://gist.github.com/4205775
1,0
0,1
6,666
666,6
etc
2012/12/4 Aureliano Guedes
> Alguem passa um exemplo onde esteja evidente a diferença entre & && e and!
> Um caso onde em um de certo e em outro não!
>
> > From: bla...@gmail.com
> > Date: Tue, 4 Dec 2012 14:00:45
Hi.
A diferença entre *&&* e *and* não é apenas a questão da precedência dos
operadores?
Penso eu que essa questão não tenha nada a ver com *short-circuiting*, já
que logicamente falando ambas fazem a mesma operação.
Exemplificando, quando temos:
use Data::Printer;
my $a = 1;
my $b = 0;
my $c =
Alguem passa um exemplo onde esteja evidente a diferença entre & && e and!
Um caso onde em um de certo e em outro não!
> From: bla...@gmail.com
> Date: Tue, 4 Dec 2012 14:00:45 -0200
> To: rio-pm@pm.org
> Subject: Re: [Rio-pm] Chaves de hash
>
> Desculpa,
>
> Não entendi a diferença entre:
>
>
Desculpa,
Não entendi a diferença entre:
perl -E 'sub a{say 1} sub b{say 2} if (a() && b()){}'
perl -E 'sub a{say 1} sub b{say 2} if (a() and b()){}'
perl -E 'sub a{say 1;return 0} sub b{say 2} if (a() && b()){}'
perl -E 'sub a{say 1;return 0} sub b{say 2} if (a() and b()){}'
Até onde eu sei, n
13 matches
Mail list logo