Introducción
hackertyper.net es un sitio web que simula el "pirateo" (como lo retratan los medios de comunicación) al generar un código complicado de la sección de cifrado del kernel de Linux en la pantalla a medida que escribe a una velocidad de 3 caracteres por cada entrada.
Desafío
Su programa / función debe aceptar un archivo como argumento de línea de comando, tener la ruta del archivo codificada o aceptar el texto [que estaría en el archivo] como argumento de línea de comando o función, e imitar hackertyper.net mediante la salida de 3 caracteres en la pantalla (STDOUT o equivalente) del archivo para cada uno recibido a través de STDIN o equivalente.
Una vez que se alcanza EOF, el programa debe comenzar a generar caracteres desde el principio del archivo nuevamente (ajuste).
Especificaciones
Para fines de simplicidad, puede suponer que STDIN ya se ha configurado en modo sin búfer y sin eco, que no está esperando hasta que el usuario presione Entrar antes de pasar la entrada a su programa y no mostrar los caracteres que escribe.
El archivo puede contener nuevas líneas, mientras que la entrada no contendrá nuevas líneas .
Para ver un pequeño ejemplo escrito en C (no golfizado) que demuestra cómo funciona esto, vea esto .
No se requiere texto verde y un fondo negro.
Ejemplo de entrada y salida
El archivo:
#include <stdio.h>
int main() { }
Entrada:
hello world
Salida:
#include <stdio.h>
int main() { }
El archivo:
hello
Entrada:
hello world
Salida:
hellohellohellohellohellohellohel
Respuestas:
Jalea , 4 bytes
Pruébalo en línea!
Cómo funciona
fuente
J , 7 bytes
Toma dos argumentos, el texto que se repetirá y el texto de entrada del usuario.
Uso
El texto de entrada está formateado donde
,
significa unirse yLF
es el carácter de nueva línea.Pruébalo en línea. (tryj.tk)
fuente
Jalea, 9 bytes
Pruébalo en línea!
fuente
Pyth, 10 bytes
Pruébalo en línea!
fuente
JavaScript (ES6), 40 bytes
¿Dónde
s
está la cadena de datos yt
es la cadena de usuario? Asumes
que no está vacío y lo repitel
veces para asegurarse de que su longitud sea al menosl
para que pueda devolver los primerosl
caracteres, dondel
es tres veces la longitud det
.fuente
Haskell, 25 bytes
El primer argumento es lo que está "escrito", el segundo la fuente para mostrar
O sin puntos, para (posiblemente) una mejor legibilidad:
fuente
cycle
?cycle
toma una lista y la repite infinitamente. Por ejemplocycle "hi" == "hihihihi..
$
?Python 3.5,
776563 bytes:Suficientemente simple. Una función anónima que toma dos argumentos, el primero es el "archivo" (
g
) y el segundo los caracteres escritos por el usuario (f
). A continuación, esto crea un generador que contiene cada tres personajesg
, que se encuentran por la indexación de cadai
y luegoi+3
caracteres eng
dondei
se encuentra en el rango de0=>(length of f)*3
. Finalmente, devuelve cada objeto en el generador unido en una gran cadena. Llama a esta función asignándole una variable y luego llamando a la variable envuelta dentro de unaprint()
expresión. Entonces, si el nombre de la función eraq
, se ejecutaría comoprint(q(<byte array here>))
.Pruébalo en línea! (repl.it)
fuente
05AB1E , 7 bytes
Código:
Explicación:
Pruébalo en línea! .
fuente
Jolf, 10 bytes
Pruébalo aquí!
Explicación
fuente
Ruby, 39 bytes
En Ruby,
$<
lee del archivo suministrado en los argumentos de la línea de comando en lugar de$stdin
si se proporciona uno. (Si olvida proporcionar un archivo, obtendrá un resultado en blanco porque lee todo de$stdin
adentro$<.read
y, porSTDIN.read.size
lo tanto , será 0.)fuente