Então, um colega me apontou um sítio que vende uma camiseta com a seguinte linha de Perl:
perl -e '
"$a="etbjxntqrdke";
$a=~s/(.)/chr(ord($1)+1)/eg;
print "$a\n;"'
perl -e "map { print chr 1+ ord } 'etbjxntqrdke'=~/./g"
Desobediência tecnológica
perl -e '
"$a="etbjxntqrdke";
$a=~s/(.)/chr(ord($1)+1)/eg;
print "$a\n;"'
perl -e "map { print chr 1+ ord } 'etbjxntqrdke'=~/./g"
s = ''
ResponderExcluirfor c in 'etbjxntqrdke':
s += chr(ord(c)+1)
print s
(ja' que eu estava curioso, mas com preguica de fazer de cabeca, e sem um interpretador perl 'a mao ...)
Pensando bem, como disse o mestre, one-liners sao cool, alem de nao tao obvios para uma olhada rapida :)
ResponderExcluir''.join(map(lambda c: chr(ord(c)+1), 'etbjxntqrdke'))
Aqui no teletrabalho passei a tarde tranquilo ouvindo bach, paganini, folk, o programa do front da ciencia sobre o Tesla, escrevendo triguers mecanicamente e discutindo hash pelo msn com o Marcus.
ResponderExcluirFalaram de quê ?
Parece que disparei um golfe! Vou tentar mais uma tacada:
ResponderExcluirperl -e "print chr 1+ ord foreach split //,'etbjxntqrdke'"
E mais uma!
ResponderExcluirperl -e "print chr 1+ ord for split //,'etbjxntqrdke'"
Em Lua:
ResponderExcluirprint((string.gsub('etbjxntqrdke', '.', function(s) return string.char(string.byte(s)+1) end)))
Não tão compacto, mas no estilo "1 linha".
Testável aqui:
http://www.lua.org/cgi-bin/demo