[Cascavel-pm] Gerar lista...

Luis Motta Campos luismottacampos em yahoo.co.uk
Sexta Agosto 3 08:15:57 PDT 2007


On Aug 3, 2007, at 3:42 PM, eden wrote:
> On 8/3/07, Luis Motta Campos <luismottacampos em yahoo.co.uk> wrote:
>>    Mas está ERRADA! SACANAGEM!
>>
>>    Eu achei que era possível copiar chaves e valores, mas o delete
>> diz que apenas os VALORES são retornados pelo delete...
>>
>>    Vou pensar mais sobre o problema, e volto a postar (provavelmente
>> esta noite) com uma resposta aceitável e mais elegante.
>
> champs-- # não avisa que a solução é "untested"
>
> my %diferenca;
> @diferenca{ @lista1 } = @lista1;
> my @interseccao = grep { defined } delete @diferenca{ @lista2 };
> my @diferenca = keys %diferenca; # ou values, tanto faz :)
>
> P.S.: Não testei, mas pago uma cerveja pra quem demonstrar que está  
> errado :)

   Eu reclamo a cerveja da aposta: delete retorna os VALORES, não as  
chaves do hash.
   Isso quer dizer que @interseccao contem VALORES, não chaves, da  
intersecção.
   Você cometeu o erro que eu evitei quando fiz o meu... ;-)

   Putamplexos!
--
Luis Motta Campos (a.k.a. Monsieur Champs) is a software engineer,
Perl fanatic evangelist, and amateur {cook, photographer}




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