[Rio-pm] Golfe! lendo arquivos, ordenando entradas e removendo duplicadas

Fernando Oliveira fernandocorrea em gmail.com
Terça Março 4 11:14:46 PST 2008


Ela pensou exatamente como eu... a resposta q ela deu era a q eu ia dar...
mas ainda estou vendo se diminuo... mas a probabilidade é muito pequena...

Em 04/03/08, breno <breno em rio.pm.org> escreveu:
>
> Hahahahhahha adorei! Realmente, ainda não me acostumei com a notação
> de }{, e bem que achei que estava usando variáveis demais. Acho que
> estou mal acostumado com código legível, ainda sou muito cru pra golfe
> com os campeões da PGA (Perl Golfers Association)
>
> Mas e aí, Fernando... Vai deixar a Mlia te desbancar do trono???
>
> []s
>
> -b
>
> 2008/3/4 Fernando Oliveira <fernandocorrea em gmail.com>:
>
> > Breno, dá p/ diminuir bem só no END...
> >
> >  perl -ne 'push em a,$_ unless$v{$_}++;END{print sort em a}' lista.txt
> >
> > unless é muito grande...
> >
> > perl -ne 'push em a,$_ if!$v{$_}++;END{print sort em a}' lista.txt
> >
> > dá p/ tirar o END...
> >
> > perl -ne 'push em a,$_ if!$v{$_}++}{print sort em a' lista.txt
> >
> > acho q já diminuiu bastante... mas acho q o melhor seria usar hash...
> mas a
> > mila já roubou a minha solução!
> >
> > Em 04/03/08, breno <breno em rio.pm.org> escreveu:
> > >
> > >
> > >
> > > Salve, pessoal! (Não, sério, salvem sempre... acabei de perder vários
> > > arquivos aqui)
> > >
> > > Hoje vieram falar comigo com um código Perl de 11 linhas que recebe um
> > > arquivo no seguinte formato:
> > >
> > > -------------8<-----------------
> > > palavra1
> > > palavra2
> > > palavra3
> > > ....
> > > -------------8<-----------------
> > >
> > > e retorna uma lista com todas as palavras ORDENADAMENTE e SEM
> REPETIÇÕES.
> > >
> > > Daí pensei cá com meus botões... dá pra fazer em 1 linha... e eis que
> > > saiu minha tacada:
> > >
> > >
> > > perl -ne 'push em a,$_ unless$v{$_}++;END{@a=sort em a;print em a}' lista.txt
> > > lista2.txt ...
> > >
> > >
> > > 47 caracteres. Mas como não sou um praticante ávido de Golfe (salve
> > > salve mestre Fernando), tenho certeza que dá pra fazer em menos. Notem
> > > que desse jeito, ao contrário do código inicial, é possível passar
> > > quantos arquivos de lista de palavras tiverem, e ele vai ordenar e
> > > remover duplicadas como se tudo fosse um único arquivão.
> > >
> > > Quem se habilita ao desafio?
> > >
> > > Dica: acho que trabalhando com concatenação de strings (ao invés de
> > > push em lista) fica bem menor...
> > >
> > >
> > > []s
> > >
> > > -b
> > >
> > > _______________________________________________
> > > Rio-pm mailing list
> > > Rio-pm em pm.org
> > > http://mail.pm.org/mailman/listinfo/rio-pm
> > >
> >
> >
> >
> > --
> > []'s Fernando
> > _______________________________________________
> >  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
>



-- 
[]'s Fernando
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://mail.pm.org/pipermail/rio-pm/attachments/20080304/2a078535/attachment.html 


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