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ão
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 =
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:
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
2012/11/30 Aureliano Guedes guedes_1...@hotmail.com:
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
2012/12/4 Aureliano Guedes guedes_1...@hotmail.com:
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) {
é
2012/12/4 Blabos de Blebe bla...@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)
last;
Em 4 de dezembro de 2012 14:54, Blabos de Blebe bla...@gmail.com 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
a diferença de usar ou and em dias normais,
mas quando trabalhar bit-a-bit acho que o é mais apropiado
Date: Tue, 4 Dec 2012 15:23:04 -0200
From: viniciusmias...@gmail.com
To: rio-pm@pm.org
Subject: Re: [Rio-pm] Chaves de hash
last;
Em 4 de dezembro de 2012 14:54, Blabos de Blebe bla
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 guedes_1...@hotmail.com
Acho que não é nada
2012/12/4 Aureliano Guedes guedes_1...@hotmail.com:
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
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 guedes_1
Porra o q? To mostrando q eh diferente no contexto q eu conheco...
Em 29/11/2012 23:14, Blabos de Blebe bla...@gmail.com escreveu:
Porra PAC, não pisa fora da faixa, cara! :)
http://perldoc.perl.org/perlop.html#Operator-Precedence-and-Associativity
É só aplicar as regras de precedência.
circuits??
Date: Fri, 30 Nov 2012 06:22:03 -0200
From: tiago.pecze...@gmail.com
To: rio-pm@pm.org
Subject: Re: [Rio-pm] Chaves de hash
Porra o q? To mostrando q eh diferente no contexto q eu conheco...
Em 29/11/2012 23:14, Blabos de Blebe bla...@gmail.com escreveu:
Porra PAC, não pisa fora da
Eu devo ser muito estúpido... mas alguém que está falando isso (ja é
o 3o), poderia fazer o favor de me explicar porque ele deve usar
no
lugar do 'and' e qual diferença isso faz no caso deste if específico?
E em quais situações deve-se usar o 'and' no lugar de ?
Não é estúpido não. Vamos
Não funcionaria em 100% dos casos.
Em 2012-11-29 23:27, Blabos de Blebe escreveu:
Um exemplo hipotético...
Suponha que não haja escapatória e tenha-se que comparar
flutuantes...
if ( float_equal( $a, $b ) ) {
say 'igual';
}
elsif ( $a $b !float_equal( $a, $b ) ) {
say 'menor';
}
#define float_epsilon 0.1;
#define float_equal(a,b) (fabs((a) - (b)) float_epsilon)
Com esse define de float_equal e float_epsilon acho que funcionaria.
Em 2012-11-29 23:27, Blabos de Blebe escreveu:
Um exemplo hipotético...
Suponha que não haja escapatória e tenha-se que comparar
, estando no intervalo
eu quero os 20 valores. 49??
-
From: leonardo.bal...@gmail.com
Date: Fri, 30 Nov 2012 00:15:50 -0200
To: rio-pm@pm.org
Subject: Re: [Rio-pm] Chaves de hash
Quero participar dessa discussao antes do 50.
Por que tanta peculiariade na dicotomia de popular?
Na
...@ticursos.net
To: rio-pm@pm.org
Subject: Re: [Rio-pm] Chaves de hash
Hashs não têm mais de uma chave igual. Ele vai mudar o valor
relacionado à chave e não criar outra chave com o mesmo valor.
Em 2012-11-30 00:24, Aureliano Guedes escreveu:
Bruno, no meu if funcionou tanto com
...@ticursos.net
To: rio-pm@pm.org
Subject: Re: [Rio-pm] Chaves de hash
Hashs não têm mais de uma chave igual. Ele vai mudar o valor
relacionado à chave e não criar outra chave com o mesmo valor.
Em 2012-11-30 00:24, Aureliano Guedes escreveu:
Bruno, no meu if funcionou tanto com quanto com and. O meu erro
...@gmail.com
Date: Fri, 30 Nov 2012 10:44:24 -0200
To: rio-pm@pm.org
Subject: Re: [Rio-pm] Chaves de hash
faça o push (só que sem a funcao),
outra forma, porque não usar uma array ? e ai você coloca assim:
my @hmfe;
while (..){ ...
push @hmfe, {valor = $mirna, registro = $record
O melhor seria;
if ( abs($a-$b) $errro ) {
say tratar como igual;
} else {
say tratar como diferentes;
};
sendo $erro a margem de erro aceitável ($erro = 0.1, por exemplo)
Caso precise comparar maior ou menor:
if ( $a ($b -$erro) ) {
say tratar como maior;
}
if ( $a ($b +
Existe um problema aqui, diferente da comparação.
A comparação de reais é problemática devido a estrutura interna do
ponto flutuante. NÃO SE COMPARA REAIS POR MAIOR OU MENOR.Isso não é do
Perl, mas das regras de aproximação usada pelos processadores.
Rounding rules
The standard defines five
Não se compara reais por igualdade.
Se você tem erro na igualdade, terá nas outras comparações se a
diferença entre os números for menor que o maior acréscimo suportado
pela plataforma:
$ perl -E '
if (0.2 0.1999){
say 0.2 is greater than
Um exemplo mais preciso:
$ uname -a
SunOS cg01spo 5.10 Generic_13-03 sun4v sparc
SUNW,SPARC-Enterprise-T5120
$ perl -E '
if (0.2 0.19997){
say 0.2 is greater than 0.19997;}
else {
say Floating Point is not true real};'
0.2 is greater than 0.19997
$
$
-pm] Chaves de hash
Um exemplo mais preciso:
$ uname -a
SunOS cg01spo 5.10 Generic_13-03 sun4v sparc
SUNW,SPARC-Enterprise-T5120
$ perl -E '
if (0.2 0.19997){
say 0.2 is greater than 0.19997;}
else {
say Floating Point is not true real};'
0.2 is greater
...@ticursos.net
To: rio-pm@pm.org
Subject: Re: [Rio-pm] Chaves de hash
Um exemplo mais preciso:
$ uname -a
SunOS cg01spo 5.10 Generic_13-03 sun4v sparc
SUNW,SPARC-Enterprise-T5120
$ perl -E '
if (0.2 0.19997){
say 0.2 is greater than 0.19997
esteja no intervalo
determinado.
Caso descordem seria uma honra ler a explicação de qualquer um de
vocês.
Date: Thu, 29 Nov 2012 16:44:50 -0200
From: thiagogla...@ticursos.net
To: rio-pm@pm.org
Subject: Re: [Rio-pm] Chaves de hash
Um exemplo mais preciso:
$ uname -a
SunOS cg01spo 5.10
and $keys = $max){
print $keys . \n;
}
}
}
termofilter(hybrid.txt, -30, -20);
Date: Thu, 29 Nov 2012 17:27:15 -0200
From: thiagogla...@ticursos.net
To: rio-pm@pm.org
Subject: Re: [Rio-pm] Chaves de hash
Onde estou agora o firewall bloqueia o pastebin. Pela sua explicação
){
print $keys . \n;
}
}
}
termofilter(hybrid.txt, -30, -20);
Date: Thu, 29 Nov 2012 17:27:15 -0200
From: thiagogla...@ticursos.net
To: rio-pm@pm.org
Subject: Re: [Rio-pm] Chaves de hash
Onde estou agora o firewall bloqueia o pastebin. Pela sua explicação
);
foreach my $keys (keys %d){
if($keys = $min and $keys = $max){
print $keys . n;
}
}
}
termofilter(hybrid.txt, -30, -20);
Date: Thu, 29 Nov 2012 17:27:15 -0200
From: thiagogla...@ticursos.net
To: rio-pm@pm.org
Subject: Re: [Rio-pm] Chaves de hash
Onde estou agora o firewall bloqueia o
To: rio-pm@pm.org
Subject: Re: [Rio-pm] Chaves de hash
Onde estou agora o firewall bloqueia o pastebin. Pela sua explicação,
verificar por regex seria uma solução segura. O número sera convertido
para um string e, se a sua regex prevê uma margem segura para a
imprecisão do ponto flutuante na
);
foreach my $keys (keys %d){
if($keys = $min and $keys = $max){
print $keys . n;
}
}
}
termofilter(hybrid.txt, -30, -20);
Date: Thu, 29 Nov 2012 17:27:15 -0200
From: thiagogla...@ticursos.net
To: rio-pm@pm.org
Subject: Re: [Rio-pm] Chaves de hash
Onde estou agora
: [Rio-pm] Chaves de hash
Só para ser chato:
popular um hash inteiro já com os grupos montados,
popular
adj. 2 g.
1. Relativo ou pertencente ao povo.
2. Que é usado ou comum entre o povo.
3. Que é do agrado do povo.
4. Vulgar, notório.
5. Democrático.
s. m.
6. Homem do povo.
povoar
){
if ($p-file){
print $p;
}
}
Date: Thu, 29 Nov 2012 19:52:45 -0200
From: thiagogla...@ticursos.net
To: rio-pm@pm.org
Subject: Re: [Rio-pm] Chaves de hash
Só para ser chato:
popular um hash inteiro já com os grupos montados,
popular
adj. 2 g.
1. Relativo ou
pra evitar 'QUANDO EU COMPREI, FUNCIONAVA RAPIDO'
2012/11/29 Tiago Peczenyj tiago.pecze...@gmail.com
Olha... tinha uma gem pra ruby que adicionava uns sleeps no codigo pra
deixar propositalmente lento para demonstrações enterprise. Afinal se é
rapido, não é sistema web interno
o or é facil
my $xxx = open (mimimi) or die ops..;
eu posso usar o and no mesmo contexto.
$self-upload_file_if_necessary($keyname,$file)
and $self-change_acl_to_public_read($keyname)
and $self-delete_file($file)
and $self-on_success($file)
or $self-on_error($file)
ou seja, se o
2012/11/29 Bruno Buss bruno.b...@gmail.com
On Thu, Nov 29, 2012 at 10:13 PM, Renato Santos renato.c...@gmail.comwrote:
use sempre e seja feliz, só use and quando você souber oque está
fazendo.
Desculpe mas vou discordar que um bom conselho seja use sempre e seja
feliz, ainda mais
veja este exemplo:
https://gist.github.com/4172935
veja como a execução das subrotinas não é alterada, mas o resultado das
variaveis é diferente.
my $x = a and b and c and ok or nok;
my $y = a b c ok || nok;
veja que x recebe o valor que a retorna, enquanto y recebe o valor de nok.
isso
);
foreach my $keys (keys %d){
if($keys = $min and $keys = $max){
print $keys . n;
}
}
}
termofilter(hybrid.txt, -30, -20);
Date: Thu, 29 Nov 2012 17:27:15 -0200
From: thiagogla...@ticursos.net
To: rio-pm@pm.org
Subject: Re: [Rio-pm] Chaves de hash
Onde
Porra PAC, não pisa fora da faixa, cara! :)
http://perldoc.perl.org/perlop.html#Operator-Precedence-and-Associativity
É só aplicar as regras de precedência.
Parafraseando o perldoc, and é 'equivalent to except for the very
low precedence'
É óbvio gente. Assim vcs me envergonham!
Game over.
já está chegando em 50 mensagens na thread, quem irá citar ele ?
Em quinta-feira, 29 de novembro de 2012, Blabos de Blebebla...@gmail.com
escreveu:
Só pra ser muito chato:
popular um hash inteiro já com os grupos montados,
http://wiki.mtgsalvation.com/article/Populate
Popular um hash é
Só a gente mesmo pra ficar discutindo nota de rodapé de livro :)
2012/11/29 Vinícius Miasato viniciusmias...@gmail.com:
já está chegando em 50 mensagens na thread, quem irá citar ele ?
Em quinta-feira, 29 de novembro de 2012, Blabos de Blebebla...@gmail.com
escreveu:
Só pra ser muito chato:
Um exemplo hipotético...
Suponha que não haja escapatória e tenha-se que comparar flutuantes...
if ( float_equal( $a, $b ) ) {
say 'igual';
}
elsif ( $a $b !float_equal( $a, $b ) ) {
say 'menor';
}
else {
say 'maior';
}
Será que funciona?
2012/11/29 thiagogla...@ticursos.net:
#define float_epsilon 0.1;#define float_equal(a,b) (fabs((a) -
(b)) float_epsilon)
*BTW*
2012/11/29 Blabos de Blebe bla...@gmail.com
float_equal
--
Saravá,
Renato CRON
http://www.renatocron.com/blog/
@renato_cron http://twitter.com/#!/renato_cron
Quero participar dessa discussao antes do 50.
Por que tanta peculiariade na dicotomia de popular?
Na buzilis da cizania ja nao era mais sobre Perl ou foi impressao minha?
Leo Balter - via mobile
Em 30/11/2012, às 00:02, Marcio Ferreira marciodesouzaferre...@gmail.com
escreveu:
47
On
valor real seria problema
mas no meu caso umporta que o valor esteja em um determinado intervalo, podem
ter 20 chaves iguais, estando no intervalo
eu quero os 20 valores. 49??
From: leonardo.bal...@gmail.com
Date: Fri, 30 Nov 2012 00:15:50 -0200
To: rio-pm@pm.org
Subject: Re: [Rio-pm] Chaves de hash
no intervalo
eu quero os 20 valores. 49??
--
From: leonardo.bal...@gmail.com
Date: Fri, 30 Nov 2012 00:15:50 -0200
To: rio-pm@pm.org
Subject: Re: [Rio-pm] Chaves de hash
Quero participar dessa discussao antes do 50.
Por que tanta peculiariade na dicotomia de
--
From: leonardo.bal...@gmail.com
Date: Fri, 30 Nov 2012 00:15:50 -0200
To: rio-pm@pm.org
Subject: Re: [Rio-pm] Chaves de hash
Quero participar dessa discussao antes do 50.
Por que tanta peculiariade na dicotomia de popular?
Na buzilis da cizania ja nao era
eu com a mania de corrigir o certo! é esteja mesmo!
2012/11/30 Renato Santos renato.c...@gmail.com
estej*e*
--
Saravá,
Renato CRON
http://www.renatocron.com/blog/
@renato_cron http://twitter.com/#!/renato_cron
___
Rio-pm mailing list
Ola Monges.
Estou com um problema simples mas que não acho a solução.
Eu tenho um hash onde as chaves são valores numericos reais (a maioria negativo
e quase nenhum inteiro).
Estou limitando esses valores por um maximo e um minimo.
foreach my $keys (keys %d) {
if ($keys = $min and
VERDADE! HAHA
Mas acho que estamos com um problema aqui de nomes. talvez assim fique mais
claro:
foreach my $numero (keys %d) {
if ($numero = $min ) { # atencao, numeros iguais entram aqui
print $numero tem valor $d{$numero} e eh menor que $min\n;
}elsif ($numero
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
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.b...@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
perl -MO=Deparse pra descobrir as pegadinhas
2012/11/28 Blabos de Blebe bla...@gmail.com
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.b...@gmail.com:
Sim, o seu exemplo é a perfeita
Ok, estava errado sobre o short circuit =P
[ ]'s
2012/11/28 Blabos de Blebe bla...@gmail.com
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.b...@gmail.com:
Sim, o seu exemplo é a
55 matches
Mail list logo