Après mon entrée dans Obfuscated Hello World, j'ai pensé qu'il pourrait être amusant de partager le code sous-jacent. Mais pourquoi montrer le code, faisons-en aussi un golf!
Défi
Écrivez un script qui fait défiler une chaîne à travers le terminal, de droite à gauche, s'installant sur le côté gauche.
Contribution
Prend une chaîne comme argument.
Résultat
Imprime le cadre de défilement sur STDOUT. Largeur maximale de ~ 50 caractères. Commence par 0 ou 1 caractère affiché. Un peu d'espace entre les lettres lors du défilement. S'arrête une fois réglé (sans espace supplémentaire entre les caractères des mots). Défilement lent, mais pas trop lent (<1 s par itération).
Exemple
Exécution d'un script avec arg 'Hello World'
H
plus tard
H e l l o W o
plus tard
H e l l o W o r l d
plus tard
Hell o W o r l d
enfin
Hello World
Pour un exemple en cours d'exécution, essayez mon code du défi "Hello World". Finalement, je posterai le mien. Il est actuellement de 202 caractères en Perl. Maintenant qu'il y a des concurrents, j'ai posté le mien dans les réponses.
Gagnant
Je ne veux pas que les restrictions soient absolues, c'est pourquoi je les ai laissées un peu vagues. Le script le plus court qui suit l'esprit de mon original l'emportera.
Remarques
Ce jeu suppose un xtermenvironnement. Si un autre environnement s'avère utile, seuls des environnements similaires seront comparés et un gagnant distinct pourra être déclaré pour chacun.
Addendum (25 avril 2012)
Pour résoudre certains problèmes naissants, je prends une décision. Votre nombre de caractères doit inclure le code nécessaire pour:
- Flush STDOUT (vous regarde Ruby)
- Mettre
sleepen œuvre avec un délai de <1 s (vous regarde Perl)
Cela peut être fait lorsque la ligne de commande bascule vers un interpréteur, mais ces caractères comptent dans le total (sans espaces blancs environnants).
xterm,vt102...?