Crear un programa de loros

15

Dada una entrada, genera esa entrada seguida de una nueva línea sin fin.

La entrada será una cadena que consta solo de caracteres ASCII imprimibles ( 0x20-0x7E) y líneas nuevas ( 0x0A).

Si la entrada es longitud 0, genera interminablemente nuevas líneas.

Este es el por lo que gana menos bytes en cada idioma .

Skidsdev
fuente
La mitad de sí tiene 91 líneas de largo .
manatwork
55
Tan relacionado que duele.
Addison Crump
@VoteToClose Sabía que había respondido esto antes ..
L3viathan
Microsoft, 1 Steve Ballmer - desarrolladores, desarrolladores, desarrolladores, desarrolladores, ...
sergiol

Respuestas:

13

Bash , 8 bytes

yes "$1"

Pruébalo en línea!

ovs
fuente
maldita sea, 10 minutos tarde! pero esto no imprime nuevas líneas como nuevas líneas.
phil294
lo siento, no quise decir las yeslíneas nuevas, pero las líneas nuevas que podrían estar contenidas en la entrada se imprimen como \n. depende de cómo lea la pregunta: D
phil294
@Blauhirn Oh, entendí mal esta parte: /. ./script $'Hello\n World'Debe llamar a esto para incluir nuevas líneas reales.En TIO sólo se puede añadir una nueva línea para el argumento de línea de comandos
ovs
1
¿Son necesarias las citas? yes $1funciona bien para mí
DrnglVrgs 05 de
2
@DrnglVrgs esto no funciona para mí para una entrada vacía
ovs
9

05AB1E , 2 bytes

[,

Pruébalo en línea!

Emigna
fuente
¿Por qué no lo estás haciendo [I,?
FrodCube
@FrodCube: Porque desafortunadamente eso no funciona con una entrada vacía :(
Emigna
@FrodCube: En realidad, la pregunta indica una entrada de longitud 0 y no una entrada vacía, así que puedo disminuir esto :)
Emigna
1
@FrodCube: Sí, en realidad es una característica bastante nueva en 05AB1E. Estoy seguro de que Ohm lo conseguirá eventualmente también.
Emigna
10
[=También funciona y es una cara sonriente; la sonrisa es el único beneficio jajaja.
Magic Octopus Urn
5

Ohm , 3 bytes

∞┼,

Pruébalo en línea!

No funciona con una entrada vacía porque Ohm es malo en el manejo de entrada en comparación con otros idiomas, pero puede ingresar "".

Explicación

∞     Infinite loop next code (until ";" or end of line)
 ┼    Get first input
  ,   Println
FrodCube
fuente
Esto se ve genial ... ¿Podría explicarlo: D
Beta Decay
@BetaDecay hecho!
FrodCube 05 de
1
Para su información, Ohm v2 (con suerte próximamente) tendrá un manejo de entrada mucho mejor que antes.
Nick Clifford
@NickClifford genial! ¡Estoy deseando que! Me gusta tu idioma
FrodCube 05 de
1
Oooo ... ¿Ohm es 05AB1E con diferentes comandos? Comienza a leer fervientemente las páginas de GitHub
Magic Octopus Urn
5

sed, 5

:      # label (unnamed) 
p      # print the pattern space
b      # branch back to the label

Las etiquetas sin nombre son una "característica" no documentada en sed que funciona con la versión 4.2.2, pero puede no funcionar en versiones futuras.

Trauma digital
fuente
4

V , 2 bytes

òÙ

No puede probar esto en línea por razones obvias.

ò    'Recursively
 Ù   'Duplicate the current line downwards
nmjcman101
fuente
TIO realmente se ejecuta durante 60 segundos, luego termina e imprime el STDOUT hasta que el punto de terminación se trunca a los primeros 128KiB.
Urna mágica del pulpo
1
Como Vla salida se realiza dentro de una sesión nvim y no se imprime en STDOUT hasta que finaliza, TIO mata la sesión y no ve nada en STDOUT. No sabía lo que dijiste, pero desafortunadamente no soluciona V
nmjcman101
1
Ahhhh ... Eso es desafortunado, olvidé las propiedades de V, solo lo he usado una vez sin éxito.
Magic Octopus Urn
3

Rubí, 18 17 12 + 2 = 14 bytes

Corre con la -nbandera.

loop{$><<$_}

Editar: ¡Gracias por @sethrin por la -nbandera!

Peter Lenkefi
fuente
Use la -nbandera y omita el gets.
canhascodez 05 de
@sethrin ¡Buena! ¡No sabía sobre esta bandera!
Peter Lenkefi
3

AutoHotkey , 20 bytes

OP no especificó cómo debería suceder la salida, dijo que solo tiene que suceder sin cesar con una nueva línea después. AHK no fue diseñado para la interacción cmd. Entonces la salida ocurre repetidamente en una ToolTipposición de mouse:

información sobre herramientas

loop
tooltip,%1%`n`n

Me gusta la loopcaracterística de AHK . looprepite el siguiente bloque para siempre, loop, 10lo repetiría 10 veces. A veces echo de menos esta función en otros idiomas como Python.

El carácter de escape en AutoHotkey es `(por lo que no hay problemas con las barras invertidas en las rutas de Windows). Por alguna razón, se ignora una nueva línea final, por lo que se necesita dos veces. ( trayTippuede que no tenga este "error" pero no puedo probarlo porque se ejecuta con vino)

vieja respuesta:

loop
msgbox,%1%

Me acabo de dar cuenta de que a OP probablemente no le gustará esta solución, el resultado ocurre con la interacción del usuario y no incluye nuevas líneas. Buscaré otra forma.

phil294
fuente
1
Bueno, tienes mi voto a favor para una solución creativa
Skidsdev
3

LibreLogo , 33 bytes

Código:

x=input " repeat [ label x bk 9 ]

Explicación:

x = input "               ; Input Stored in x as String
repeat [                  ; Endless Loop
    label x               ; Print x in Current Position
    bk 9                  ; Move Back 9 pt
]

Resultado:

ingrese la descripción de la imagen aquí

Grant Miller
fuente
2

Python 2 , 25 bytes

s=input()
while 1:print s

Pruébalo en línea!

Se espera que la entrada sea un literal de Python (comillas para una cadena, corchetes o paréntesis con elementos separados por comas para una lista / tupla, etc.)

Python 3 sería +1 byte porque printes una función, pero también podría hacer una entrada sin formato sin la penalización de 4 bytes raw_input()en Python 2.

Mego
fuente
2

PHP, 20 bytes

for(;;)echo"$argn
";
usuario63956
fuente
2

Haskell, 14 bytes

cycle.(++"\n")

Pruébalo en línea!

Agregue una nueva línea a la entrada y haga una lista de copias infinitas de la misma.

Versión alternativa, también 14 bytes:

unlines.repeat
nimi
fuente
La versión alternativa es bastante elegante :)
Conor O'Brien
2

Braingolf , 14 12 bytes

#
V[R!&@v1+]

Pruébalo en línea!

-2 bytes gracias a totalmente humano

Explicación

#\nV[R!&@v1+]  Implicit input of string as charcodes
#\n            Push charcode of newline
   V           Create stack2
    [R...v1+]  While loop, runs endlessly
      !&@      Print entire stack1 as chars without popping
Skidsdev
fuente
2

C, 24 bytes

f(char*s){puts(s),f(s);}

Básicamente, una función recursiva que genera la cadena antes de volver a llamarse a sí misma. Es mi segunda publicación en codegolf, así que por favor sé amable: p

Clémox
fuente
2

Cubix , 6 bytes

AN/qvo

Pruébalo aquí

  A
N / q v
  o
  • N/A Presione Newline (10) e ingrese en la pila
  • v redirigir al bucle
  • o/q bucle que genera un personaje y lo empuja al fondo de la pila continuamente

Iba a eliminar el indicador EOI (-1) de la pila, pero no parece afectar la salida, así que lo dejé guardando bytes.

MickyT
fuente
1

C #, 40 bytes

s=>{for(;;)System.Console.WriteLine(s);}
TheLethalCoder
fuente
1

MATL, 4 bytes

`GDT

Pruébalo en línea

Explicación

`     % Do...while loop
  G   % Grab input
  D   % Display it on a new line
  T   % Literal TRUE to create an infinite loop
Suever
fuente
1

C, 26 bytes

f(char*s){for(;;)puts(s);}

Una función, fque toma una cadena de estilo C como parámetro,s . El cuerpo de la función se repite repetidamente, pasando la cadena a la función de bibliotecaputs , que envía la cadena a la salida estándar (stdout) junto con una nueva línea final.

Cosas bastante simples. El único truco aquí es aprovechar default-int para el valor de retorno y luego no devolver un valor. Sin embargo, eso no importa en este caso, ya que la función nunca regresa (¡solo sigue imprimiendo para siempre)!

Pruébalo en línea!

Cody Gray
fuente
f(char*s){puts(s);f(s);} ahorra unos pocos
nmjcman101
1

Groovy, 20 bytes

x={println it;x(it)}
Urna de pulpo mágico
fuente
¿Esto funciona para siempre ya que es recursivo?
Twometer
1

Java 8, 34 bytes

s->{for(;;System.out.println(s));}

Sorprendido aún no había una respuesta Java.

Pruébalo aquí. (Espere 60 segundos para que se agote el tiempo de espera).

Kevin Cruijssen
fuente
no necesita esperar a que se agote el tiempo de espera, alcanzará el búfer de salida máximo de 128 kb mucho más rápido que eso: P
Skidsdev
@Mayube Quizás, pero todavía se está ejecutando de Real time: 60.008 sacuerdo con la sección de depuración antes de generar el resultado (y da dos advertencias límite de 60 segundos excedido y 128 kb excedido).
Kevin Cruijssen
1
TIO también almacena en caché los resultados, por lo que una vez que se ejecuta y alcanza el límite de tiempo, la salida se almacena en caché y simplemente se enviará a otros que la ejecuten sin volver a compilar y ejecutar el código
Skidsdev
@Mayube True. No sabía que esto también se aplicaba a los demás. Pensé que era un caché local. En ese caso, puede ignorar el " (Espere 60 segundos para que se agote el tiempo de espera) " en mi respuesta. :) Pero si marca la configuración "deshabilitar caché de salida" verá que tarda unos 60 segundos.
Kevin Cruijssen
1

Pyth, 2 bytes

#

Lamentablemente no puedo eliminar Q:(

Debe ejecutar desde la línea de comandos como esta, para que esto compita:

python3 pyth.py -c "#
"

El intérprete también ha sido reparado.

Erik el Outgolfer
fuente
1

> <> , 16 bytes

i:0(?v
:o71.>~a{

Pruébalo en línea!

Como se menciona en los comentarios a continuación, mi primer intento puede haber malinterpretado la pregunta, por lo que se ha realizado la nueva solución de 16 bytes, he dejado el original a continuación para que la gente pueda ver.

> <> , 13 bytes

<ov!?+1:i
oa<

Pruébalo en línea!

Pelícano verde azulado
fuente
Creo que ha habido un problema de horquillado: este código devuelve "esa entrada seguida de (una nueva línea sin fin)", mientras que la mayoría de las otras respuestas dan "(esa entrada seguida de una nueva línea) sin fin" ...
No es un árbol
@Notatree, gracias por mencionar esto, he actualizado mi respuesta para respetar su comentario :)
Teal pelican
¡Agradable, mi mejor intento fue de 17 bytes!
No es un árbol
@Notatree, cambié el cheque en la primera línea de 1 + ?! v a 0)? V que guardó un byte, cuál fue su solución, sería bueno ver más> <> respuestas :) - También creo con algunas espejos ingeniosos también puede eliminar las instrucciones de salto, pero aún no lo ha descubierto.
Teal pelican
1
@Notatree, también estuviste muy cerca de los 16 bytes, cambia tu segunda línea a \ ~ luego mueve tu última línea alrededor de 1 a o> ​​{: y lo hubieras logrado. el salto es solo para cortar espejos adicionales a través de las líneas, pero el tuyo funciona igual de bien :)
Teal pelican
1

Perl 5 , 27 bytes

while(1){print"$ARGV[0]\n"}

Pruébalo en línea!

tale852150
fuente
la entrada siempre se dará, puede que sea una cadena vacía, por lo que debería poder hacerlowhile(1){print"$ARGV[0]\n"}
Skidsdev
@Mayube - gracias, respuesta actualizada.
tale852150
También bienvenido a ppcg! Arreglé el formato en su respuesta para usted, en el futuro recomiendo totalmente usar Pruébelo en línea (vinculado en la respuesta editada) ya que no solo facilita las pruebas, sino que puede darle una respuesta ppcg completamente formateada para publicar
Skidsdev
@Mayube - gracias, me alegro de estar aquí ...
tale852150
1

SAS, 32 bytes

%macro t(s);%put&s;%t(&s);%mend;
J_Lard
fuente