A menudo olvido lo que quería decir cuando la maestra me llama para hablar. ¿Puedes hacerme una herramienta para resolver esto?
Requisitos:
- El programa debe recorrer de la siguiente manera:
- Primero, tome en entrada
- Si la entrada está vacía, imprima la última pregunta almacenada.
- De lo contrario, almacene la entrada como una pregunta.
Notas:
- La entrada nunca estará vacía si no hay preguntas almacenadas.
Aclaración: el programa no necesita almacenar múltiples preguntas. Originalmente quería que almacenara múltiples, pero lo cambié después de que muchas personas entendieron mal la pregunta.
Recuerde, este es el código de golf , por lo que gana el código con el menor número de bytes.

Respuestas:
Perl,
131714 +1 = 15 bytes+1 para la
-nbandera (guardado 4 bytes gracias a @Dada)Mientras la entrada no sea igual al retorno de carro, almacena la entrada en
$;. Si es igual al retorno de carro, imprime lo que ya está dentro$;.Esto supone que todas las entradas pueden caracterizarse como preguntas, incluso si son gramaticalmente, no lo son.
fuente
nelugar deeq(en este momento esto no funciona)././lugar de$/ne$_;-)05AB1E,
121110 bytes¡Gracias @daHugLenny y @Adnan por 1 byte!
¡Gracias @Emigna por 1 byte!
fuente
®y©conXyU, no necesita la barra invertida.Haskell, 49 bytes
Cómo funciona: comienza con
g "". El parámetrosde funciónges la pregunta en la tienda.glee la siguiente línea de stdin y la pasa (y también s) a#. Si la línea está vacía,#imprime la tienda ygvuelve a llamar . Si la línea no está vacía,gse llama con la línea como la nueva tienda.fuente
JavaScript
363431 bytesUn bucle infinito sigue pidiendo entrada y la almacena
b. Si la entrada no está vacía, se almacenaa, de lo contrarioase imprime el valor de .Ahorró 2 bytes gracias a @ETHproductions
fuente
1, y otro moviéndoseb?a=b:alert(a)a la última sección dentro del ciclo for (iefor(a=0;;b?a=b:alert(a))b=prompt())a=0tampoco es necesario. Dado que la entrada solo puede estar vacía si hay preguntas almacenadas,ano se hará referencia si no se ha asignado.Mathematica, 44 bytes
Programa completo El carácter Unicode es U + 221E INFINITY para
\[Infinity].fuente
Python 3, 31 bytes
¡Pruébalo!
-1 byte gracias a Flp.Tkc
fuente
reticular, 12 bytes
Pruébalo en línea!
Explicación
fuente
Pyke, 6 bytes
Pruébalo aquí!
fuente
Python3 - 49 bytes
fuente
NameError: name 'b' is not definedb=input(). ¡Gracias!Python 3, 34 bytes
fuente
Python 3, 60 bytes
fuente
CMD, 37 bytes
Lamentablemente
setno toma entrada vacía :(en un nombre de archivo
c.cmdoen cualquier archivo Trabajo (uso
-como vacío):fuente
set/pnunca hará una variable vacía, por lo que al menos necesitaset a=en la primera línea; También creo que te refieresset b=%a%.APLX, 19 bytes
Explicación:
fuente
C,
7363 bytesSolo usa 1 búfer y un único carácter para manejar la lógica. Si el usuario no ingresa nada, solo se sobrescribe el primer carácter en el búfer
'\0', en ese caso se restauraxe imprime; de lo contrario, copie la primera letraxpara su uso posterior.Código anterior:
fuente
Java 7,
189187178 bytes ..-9 bytes usando
new java.util.Scannerdirectamente, gracias a @cliffroot .Probablemente la primera vez que usé un
do-whileen un desafío codegolf ...Cuando se permiten funciones en lugar de programas, son 135 bytes (todavía muchas veces más que la mayoría de las otras respuestas ...)
fuente
void c(){for(String s="",x;(x=new java.util.Scanner(System.in).nextLine())!=null;)if(x.isEmpty())System.out.println(s);else s=x;}foro enwhilealguna parte? ... ¿Qué es(x=new java.util.Scanner(System.in).nextLine())!=null;)?void c(){for(String s="",x;for(x=new java.util.Scanner(System.in).nextLine())!=null;)if(x.isEmpty())System.out.println(s);else s=x;}y en realidad es 1 byte más largo que la versión condo-whilees -void c(){String s="",x;do{x=new java.util.Scanner(System.in).nextLine();if(x.isEmpty())System.out.println(s);else s=x;}while(1>0);}sed, 10 bytes
Explicación:
¡Es agradable ver un lenguaje exotérico (es decir, "no esotérico") vinculado con algunos de los idiomas de golf!
fuente