[Rio-pm] Função uniq com bug ou erro no codigo?

Gabriel Vieira gabriel.vieira em gmail.com
Dom Mar 5 12:19:46 PST 2017


GOLF?!!!!??!?!?! \o/


NÃO RETORNA NECESSARIAMENTE NA ORDEM ENCONTRADA (76 chars)
echo "SP+TM+TM+TM+TM+TM+TM+TM+TM+TM+TM+TM"|perl -nE'@x{/\w+/g}++;say keys%x'

MANTÉM A ORDEM (76 chars)
echo "SP+TM+TM+TM+TM+TM+TM+TM+TM+TM+TM+TM"|perl -nE'$x{$_}++||say for/\w+/g'

2017-03-05 12:43 GMT-05:00 Aureliano Guedes <guedes_1000 em hotmail.com>:

> Obrigado, era so o chomp mesmo.
>
> Perl6 é interessante mas pra agora não seria ideal.
> A solução com array seria a melhor talvez, mas ate tentei
>
>
> echo "WXG+WXG+PT-COG5412+Tox-SHH+TM+TM+TM+TM" | perl -MDDP -nE
> 'foreach(split /\+/){$a{$_}++}; p %a'
>
>
> Mas deu problema que fiquei com preguissa de tratar. saiu linha em branco
> e a ultima repetição.
>
> Obrigado monges
>
>
> ------------------------------
> *From:* Rio-pm <rio-pm-bounces+guedes_1000=hotmail.com em pm.org> on behalf
> of Fernando Oliveira <fernandocorrea em gmail.com>
> *Sent:* Sunday, March 5, 2017 5:15:08 PM
> *To:* Perl Mongers Rio de Janeiro
> *Subject:* Re: [Rio-pm] Função uniq com bug ou erro no codigo?
>
>
> echo "SP+TM+TM+TM+TM+TM+TM+TM+TM+TM+TM+TM" | perl6 -n 'say set .split:
> "+"'
>
>
> Enviado do meu iPhone
>
> Em 5 de mar de 2017, às 13:59, Fernando Oliveira <fernandocorrea em gmail.com>
> escreveu:
>
> Eu não sei qual é o problema, mas tenho uma sugestão de solução (código
> não testado, tô no celular):
>
> echo "SP+TM+TM+TM+TM+TM+TM+TM+TM+TM+TM+TM" | perl -nE '%a{split "+"}++;
> say keys %a}'
>
>
> Enviado do meu iPhone
>
> Em 5 de mar de 2017, às 13:51, Lucas Mateus <lucasmateus.oliveira em gmail.
> com> escreveu:
>
> É algum bug no código
>
> echo "SP+TM+TM+TM+TM+TM+TM+TM+TM+TM+TM+TM" | xargs perl -MList::Util=uniq
> -MDDP -e '@a=uniq(split(/\+/,$ARGV[0]));p @a'
>
> Em 5 de março de 2017 13:35, Aureliano Guedes <guedes_1000 em hotmail.com>
> escreveu:
>
>> Ola,
>>
>> Caros Monges.
>>
>> Estou com uma pequena dúvida.
>> Estou usando a função uniq (List::Util e List::MoreUtils) para reduzir a
>> redundância de um array.
>>
>>
>> echo "SP+TM+TM+TM+TM+TM+TM+TM+TM+TM+TM+TM" | perl -MList::Util='uniq'
>> -MDDP -ne '@a = uniq (split (/\+/, $_)); print "\n"; p @a; print "\n"'
>>
>>
>> Separa os elementos pelo '+' e depois remove a redundância. Acontece que
>> o ultimo elemento for redundante ele não é eliminado.
>>
>> Alguém sabe o porque disso??
>>
>> Alguma sujestão de como reverter sem q eu tenha que criar um script pra
>> isso ou minha propria rotina uniq??
>>
>> Desde já grato.
>>
>> _______________________________________________
>> Rio-pm mailing list
>> Rio-pm em pm.org
>> http://mail.pm.org/mailman/listinfo/rio-pm
>>
>
> _______________________________________________
> Rio-pm mailing list
> Rio-pm em pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
>
> _______________________________________________
> Rio-pm mailing list
> Rio-pm em pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>



-- 
Gabriel Vieira
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/rio-pm/attachments/20170305/c6b591e0/attachment.html>


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