adriano++ mesmo! ;D<br><br><div><span class="gmail_quote">On 04/03/2008, <b class="gmail_sendername">Marco A P D'Andrade</b> <<a href="mailto:mdacwb@gmail.com">mdacwb@gmail.com</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Adriano++<br> <br> Mas o que eu propus foi simplesmente:<br> <br> sort -u lista.txt<br> <br> Mesma abordagem do one-liner !<br> <br> Ok... não se aplica em perl golf, mas é uma solução simples para o proglema ;)<br> <br>
Sds,<br> Marco Antonio<br> <br><br> Em 04/03/08, breno<<a href="mailto:breno@rio.pm.org">breno@rio.pm.org</a>> escreveu:<br> > Bah, mas a gente tá falando de desenvolver um programa que faça isso.<br> > Pensando assim poderiamos chamar o prog de "a" e fazer o Ultimate<br>
> Shell Script:<br> ><br> > ./a<br> ><br> > e ganhamos o golfe com 1 caractere. A idéia é fazer um programa que<br> > resolva o problema. Usando os próprios recursos do shell, a sua<br> > resposta não ganha não:<br>
><br> > $ wc -c /usr/bin/sort<br> > 39736 /usr/bin/sort<br> ><br> > muito mais até do que a maior resposta :-)<br> ><br> > []s<br> ><br> > -b<br> ><br> > 2008/3/4 Marco A P D'Andrade <<a href="mailto:mdacwb@gmail.com">mdacwb@gmail.com</a>>:<br>
><br> > > Ah!<br> > ><br> > > A Camila foi mais rapida no gatilho :D<br> > ><br> > > Mas, como eu gosto de usar Perl onde ele é a melhor solução... nesta<br> > > dá para dar uns pontinhos pro Julio Neves ... ;)<br>
> ><br> > > sort -u<br> > ><br> > > Sds,<br> > > Marco Antonio<br> > ><br> > > Em 04/03/08, Marco A P D'Andrade<<a href="mailto:mdacwb@gmail.com">mdacwb@gmail.com</a>> escreveu:<br>
> > > 32 caracteres ;)<br> > > ><br> > > > perl -ne '$v{$_}++;END{print sort keys%v}'<br> > > ><br> > > > Pra que um array, se vc está controlando em hash ?<br>
> > ><br> > > ><br> > > > Em 04/03/08, breno<<a href="mailto:breno@rio.pm.org">breno@rio.pm.org</a>> escreveu:<br> > ><br> > ><br> > > ><br> > > > > perl -ne 'push@a,$_ unless$v{$_}++;END{print sort@a}'<br>
> > > ><br> > > > > 42 caracteres :-)<br> > > > ><br> > > > > Me ocorreu que a transição do sort era desnecessária assim que eu li<br> > > > > meu próprio post :-)<br>
> > > ><br> > > > > []s<br> > > > ><br> > > > > -b<br> > > > ><br> > > > ><br> > > > ><br> > > > > 2008/3/4 breno <<a href="mailto:breno@rio.pm.org">breno@rio.pm.org</a>>:<br>
> > > ><br> > > > > > Salve, pessoal! (Não, sério, salvem sempre... acabei de perder vários<br> > > > > > arquivos aqui)<br> > > > > ><br> > > > > > Hoje vieram falar comigo com um código Perl de 11 linhas que recebe um<br>
> > > > > arquivo no seguinte formato:<br> > > > > ><br> > > > > > -------------8<-----------------<br> > > > > > palavra1<br> > > > > > palavra2<br>
> > > > > palavra3<br> > > > > > ....<br> > > > > > -------------8<-----------------<br> > > > > ><br> > > > > > e retorna uma lista com todas as palavras ORDENADAMENTE e SEM REPETIÇÕES.<br>
> > > > ><br> > > > > > Daí pensei cá com meus botões... dá pra fazer em 1 linha... e eis que<br> > > > > > saiu minha tacada:<br> > > > > ><br>
> > > > ><br> > > > > > perl -ne 'push@a,$_ unless$v{$_}++;END{@a=sort@a;print@a}' lista.txt<br> > > > > > lista2.txt ...<br> > > > > ><br>
> > > > ><br> > > > > > 47 caracteres. Mas como não sou um praticante ávido de Golfe (salve<br> > > > > > salve mestre Fernando), tenho certeza que dá pra fazer em menos. Notem<br>
> > > > > que desse jeito, ao contrário do código inicial, é possível passar<br> > > > > > quantos arquivos de lista de palavras tiverem, e ele vai ordenar e<br> > > > > > remover duplicadas como se tudo fosse um único arquivão.<br>
> > > > ><br> > > > > > Quem se habilita ao desafio?<br> > > > > ><br> > > > > > Dica: acho que trabalhando com concatenação de strings (ao invés de<br>
> > > > > push em lista) fica bem menor...<br> > > > > ><br> > > > > ><br> > > > > > []s<br> > > > > ><br> > > > > > -b<br>
> > > > ><br> > ><br> > ><br> > > > > _______________________________________________<br> > > > > Rio-pm mailing list<br> > > > > <a href="mailto:Rio-pm@pm.org">Rio-pm@pm.org</a><br>
> > > > <a href="http://mail.pm.org/mailman/listinfo/rio-pm">http://mail.pm.org/mailman/listinfo/rio-pm</a><br> > > > ><br> > > ><br> > > _______________________________________________<br>
> > Rio-pm mailing list<br> > > <a href="mailto:Rio-pm@pm.org">Rio-pm@pm.org</a><br> > > <a href="http://mail.pm.org/mailman/listinfo/rio-pm">http://mail.pm.org/mailman/listinfo/rio-pm</a><br> > ><br>
> _______________________________________________<br> > Rio-pm mailing list<br> > <a href="mailto:Rio-pm@pm.org">Rio-pm@pm.org</a><br> > <a href="http://mail.pm.org/mailman/listinfo/rio-pm">http://mail.pm.org/mailman/listinfo/rio-pm</a><br>
><br> _______________________________________________<br> Rio-pm mailing list<br> <a href="mailto:Rio-pm@pm.org">Rio-pm@pm.org</a><br> <a href="http://mail.pm.org/mailman/listinfo/rio-pm">http://mail.pm.org/mailman/listinfo/rio-pm</a><br>
</blockquote></div><br><br clear="all"><br>-- <br>camila m.