Após minha entrada no Hello World Ofuscado, pensei que seria divertido compartilhar o código subjacente. Mas por que apenas mostrar o código, vamos torná-lo também um golfe!
Desafio
Escreva um script que role uma corda pelo terminal, da direita para a esquerda, estabelecendo-se no lado esquerdo.
Entrada
Leva uma string como argumento.
Resultado
Imprime a marca de rolagem em STDOUT. Largura máxima de ~ 50 caracteres. Começa com 0 ou 1 caractere sendo exibido. Algum espaço entre as letras durante a rolagem. Pára quando resolvido (sem espaço extra entre caracteres de palavras). Rolagem lenta, mas não muito lenta (<1s por iteração).
Exemplo
Executando script com arg 'Hello World'
H
mais tarde
H e l l o W o
mais tarde
H e l l o W o r l d
mais tarde
Hell o W o r l d
finalmente
Hello World
Para um exemplo em execução, tente meu código no desafio "Hello World". Eventualmente eu vou postar o meu. Atualmente, são 202 caracteres em Perl. Agora que existem alguns concorrentes, postei o meu nas respostas.
Vencedora
Não quero que as restrições sejam absolutas, por isso as deixei um pouco vagas. O roteiro mais curto que segue o espírito do meu original vencerá.
Notas
Este jogo assume um xterm
ambiente. Caso outro ambiente seja útil, apenas ambientes semelhantes serão comparados e um vencedor separado poderá ser declarado para cada um.
Adendo (25 de abril de 2012)
Para resolver alguns problemas, estou tomando uma decisão. Sua contagem de caracteres deve incluir o código necessário para:
- Flush STDOUT (olhando para você, Ruby)
- Implementar
sleep
com atraso de tempo <1s (olhando para você, Perl)
Isso pode ser feito quando a linha de comando alterna para um intérprete, mas esses caracteres contam no total (sem o espaço em branco).
xterm
,vt102
...?