Después de mi entrada al mundo ofuscado Hello World , pensé que sería divertido compartir el código subyacente. Pero, ¿por qué solo mostrar el código, hagámoslo también un golf!
Desafío
Escriba un script que desplace una cadena por la terminal, de derecha a izquierda, estableciéndose en el lado izquierdo.
Entrada
Toma una cuerda como argumento.
Resultado
Imprime la marquesina de desplazamiento en STDOUT. Ancho máximo de ~ 50 caracteres. Comienza con 0 o 1 caracteres que se muestran. Algún espacio entre letras mientras se desplaza. Se detiene cuando se establece (sin espacio adicional entre caracteres de palabras). Desplazamiento lento, pero no demasiado lento (<1s por iteración).
Ejemplo
Ejecutar script con arg 'Hello World'
H
luego
H e l l o W o
luego
H e l l o W o r l d
luego
Hell o W o r l d
finalmente
Hello World
Para ver un ejemplo en ejecución, pruebe mi código del desafío "Hello World". Eventualmente publicaré el mío. Actualmente tiene 202 caracteres en Perl. Ahora que hay algunos competidores, he publicado el mío en las respuestas.
Ganador
No quiero que las restricciones sean absolutas, por eso las dejé un poco vagas. El guión más corto que siga el espíritu de mi original ganará.
Notas
Este juego asume el xterm
medio ambiente. Si otro entorno resulta útil, solo se compararán entornos similares y se puede declarar un ganador por separado para cada uno.
Anexo (25 de abril de 2012)
Para abordar algunos problemas incipientes, estoy tomando una decisión. Su recuento de caracteres debe incluir el código necesario para:
- Flush STDOUT (Mirándote Ruby)
- Implementar
sleep
con un retraso de <1s (Mirándote, Perl)
Esto se puede hacer cuando la línea de comando cambia a un intérprete, pero esos caracteres cuentan en el total (sin espacios en blanco circundantes).
xterm
,vt102
, ...?