¡Cociname un hot dog! [cerrado]

13

A veces me encuentro con ganas de un hot dog (no todos) y por eso hago uno. Ahora hacer un hot dog es muy simple.

1) Pon los hot dogs en agua hirviendo

2) Espere una cierta cantidad de tiempo (detallado a continuación)

3) Come el hot dog una vez que haya transcurrido el tiempo.

Puede que hayas notado que dije

cierto tiempo (detallado a continuación)

y así detallaré

Muchas marcas diferentes tienen muchas recomendaciones diferentes sobre cuánto tiempo debemos cocinar los hot dogs, pero he descubierto que es mejor cocinarlos exactamente durante 4 minutos y 27 segundos (no pregunte). He probado muchos temporizadores diferentes, pero he descubierto que un programa que genera continuamente es la mejor manera de llamar mi atención.

TU TAREA

Debe crear un programa que muestre el mensaje Not ready yetdurante exactamente 4 minutos y 27 segundos. Después de que haya transcurrido este tiempo, debe salir Eat your hot doghasta el final de los tiempos. Por favor no tome ninguna entrada.

CÓMO GANAR

Debes escribir el código más corto en bytes para ganar porque este es un

AdmBorkBork
fuente
2
Muy estrechamente relacionado .
AdmBorkBork 05 de
1
Muy cerca de Legen ... espera ... también.
manatwork 05 de
La única diferencia es que este desafío requiere que el programa espere una cantidad de tiempo específica
Kritixi Lithos el
8
¿Debemos emitir "Todavía no está listo" continuamente una y otra vez hasta que finalice el intervalo ( Not ready yet\nNot ready yet\n...) o podemos simplemente emitirlo una vez y cambiar la salida una vez que hayan terminado los 4m 27s?
Kritixi Lithos
1
Vaya, mi respuesta me ha estado recordando comer mi hot dog durante los últimos dos días ...
Neil

Respuestas:

20

Scratch, 93 78 bytes

representación de imagen

Código:

when gf clicked
say[Not ready yet
wait until<(timer)>[267
say[Eat your hot dog

Generado por https://scratchblocks.github.io/ , que parece ser el estándar para la puntuación Scratch.

Bastante autoexplicativo. Cuando se inicie el programa, diga "Todavía no está listo" hasta que el temporizador (que se cuenta en segundos) sea mayor que 267. Luego comienza un ciclo infinito donde dice Eat your hot dog.

Que es la salida continua, debido a que el saybloque se ejecuta siempre a menos que say []o sayalgo más.

Okx
fuente
77
No hay necesidad para siempre, ahorrando 8 bytes. Eso lo lleva a 85 bytes. También es más corto en Hñähñu (Mezquital Otomi) , en lugar de inglés, por otros 8 bytes (sin el para siempre), llevándolo a solo 77 bytes.
Tim
@Tim gracias, pero la bandera verde no parece funcionar.
Okx
En realidad, eso proviene de la traducción oficial del sitio web, por lo que es un error que hace que sea incorrecto.
Tim
@Tim El bloque de bandera verde probablemente aún no se ha implementado (aunque la traducción aún lo traduce). Además, no hay idioma Hñähñu en Scratch oficial.
Erik the Outgolfer
14

Bash + coreutils, 50

timeout 267 yes Not ready yet
yes Eat your hot dog

Explicación

Bastante autoexplicativo, creo, pero por las dudas:

  • El yescoreutil continuamente emite repetidamente los parámetros que recibe en la línea de comandos
  • El timeoutcoreutil toma un parámetro de tiempo de espera numérico seguido de un comando. El comando se ejecuta y luego se elimina después del tiempo de espera especificado.
Trauma digital
fuente
8

Lenguaje de script Operation Flashpoint , 67 bytes

#l
s="Not ready yet"
?_time>267:s="Eat your hot dog"
hint s
goto"l"

Guardar como "hotdog.sqs"(o lo que sea) en la carpeta de la misión y llamar con [] exec "hotdog.sqs".

Explicación:

#l                                  // Label for the "goto"
s="Not ready yet"
?_time>267:s="Eat your hot dog"     // "?:" means "if () then" in a script.
                                    // "_time" is a local variable that is automatically
                                    // created and updated in every script. Its value
                                    // is the time in seconds since the script started.

hint s                              // Outputs the text in a text box.

~.1                                 // Sleeps for a tenth of a second.
                                    // The script seems to work without sleeping too,
                                    // so I didn't include this in the golfed version.
                                    // Looping in a script without sleeping is always
                                    // a bad idea, though. It sometimes crashes the game.

goto"l"                             // Go back to the beginning of the loop.
                                    // This is the only way to create a loop if you don't 
                                    // want to halt the game (and the time calculation)
                                    // until the loop finishes.

He probado muchos temporizadores diferentes, pero he descubierto que un programa que genera continuamente es la mejor manera de llamar mi atención.

Esta solución debería ser especialmente buena para atraer su atención, ya que el hintcomando reproduce un efecto de sonido aferrado cada vez que se llama, lo que suena muy molesto cuando los sonidos simultáneos se recortan en un bucle cerrado.

Steadybox
fuente
7

JavaScript ES6, 76 bytes

$=>setInterval("console.log(--_>0?`Not ready yet`:`Eat your hot dog`)",_=517)

Explicación

Esto imprime algo en la consola cada 517 milisegundos. Al principio, imprime 'Not ready yet'y disminuye el contador. Después de 517 iteraciones ( = 517 * 517 = 267289 ms), comienza a imprimir'Eat your hot dog' .

Prueba

f=
  $=>setInterval("console.log(--_>0?`Not ready yet`:`Eat your hot dog`)",_=517);
(setInterval("console.log('DONE NOW')",267000)&&f())();

Luke
fuente
¿No puedes hacer settimeout y guardar un byte?
user1910744
setTimeoutsolo ejecuta la función una vez. El desafío es generar continuamente una cadena, por setTimeoutlo que sería inválido.
Lucas
(--_?funciona en lugar de (--_>0? (-2)
dandavis
Desafortunadamente, no _disminuirá cada vez que se imprima algo, por lo que también irá por debajo de cero. Todos los enteros negativos son verdaderos, por lo 'Not ready yet'que también se imprimirían (que no es lo que queremos).
Lucas
7

Powershell, 85 71 59 bytes

1..276|%{Sleep 1;'Not ready yet'};for(){'Eat your hot dog'}

Probablemente haya una forma mucho mejor, ¡así que las críticas son bienvenidas! Este es mi primer intento de golf :)

EDITAR Un total de 14 bytes gracias a AdmBorkBork! ¡Y definitivamente una técnica para recordar!

EDIT 2 Otros 12 bytes desaparecidos gracias a Matt. No llamar a escribir dos veces también eliminó 2 espacios, ¡muy útil!

Sinusoide
fuente
1
Bienvenido a PPCG! Es bueno ver otro PowerSheller alrededor. Un golf fácil es ejecutar un bucle un número fijo de veces en 1..276|%{}lugar de un forbucle con un incremento. ¡Mira otros consejos en esa página también!
AdmBorkBork
Las cadenas se envían a std out por defecto. No es necesario especificar con el write-outputcmdlet.
Matt
7

Variante del lenguaje de scripting de GameMaker utilizada en el mod Nuclear Throne Together, 68 bytes

t=0while 1{trace(t++<8010?"Not ready yet":"Eat your hot dog")wait 1}

Explicación

  • El analizador de GML es deliciosamente indulgente. Los punto y coma y los paréntesis son opcionales, y el compilador no está preocupado en absoluto por su espacio fuera de las reglas básicas ( 0whileanaliza como y 0, por lo whiletanto, está bien)
  • Las variables se filtran en el contexto de ejecución a menos que se declare a través de var(igual que con JS).
  • La variante GML utilizada en NTT introduce un waitoperador, que empuja el "microhilo" en ejecución a una lista para el número especificado de tramas, reanudando después. Corutinas, básicamente.

    El juego tiene una velocidad de 30 fps, por lo que 4m27s == 267s == 8010 cuadros.

  • trace () genera la cadena dada en el chat.

Si tienes instalado el videojuego + mod, puedes guardarlo como algo test.mod.gmly /loadmod testejecutarlo, inundando el chat con "informes de estado":

captura de pantalla

Amarillodespués de la vida
fuente
3
No estoy exactamente seguro de lo que está pasando aquí, pero lo apruebo.
3

Python 2, 92 bytes

from time import*
t=time()
while 1:print"Not ready yet"if time()-t<267else"Eat your hot dog"

Pruébalo en línea!

Zarigüeya muerta
fuente
99
while 1:print'ENaott yroeuard yh oyte td o g'[time()-t<267::2]por 90 bytes
ovs
@ovs while 1:print['Eat your hot dog','Not ready yet'][time()-t<267]también sería 90 (siendo más claro y sin imprimir el espacio en blanco adicional).
Jonathan Allan
3

TI-Basic, 75 bytes

For(A,1,267
Disp "Not ready yet
Wait 1
End
While 1
Disp "Eat your hot dog
End

Explicación

For(A,1,267             # 9 bytes, for 267 times...
Disp "Not ready yet     # 26 bytes, display message
Wait 1                  # 3 bytes, and wait one second
End                     # 2 bytes, ...end
While 1                 # 3 bytes, after that, continuously...
Disp "Eat your hot dog  # 31 bytes, output second message
End                     # 1 byte, ...end
pizzapants184
fuente
2

Lote, 99 bytes

@for /l %%t in (1,1,267)do @echo Not ready yet&timeout/t>nul 1
:l
@echo Eat your hot dog
@goto l

Batch no tiene aritmética de fechas, por lo que no se permite un tiempo de espera simple de 267 segundos, lo mejor que puedo hacer es un tiempo de espera de 267 segundos.

Neil
fuente
2

C # 144 bytes

()=>{for(int i=0;;){var s="\nEat your hot dog";if(i<267e3){i++;s="\nNot ready yet";}System.Console.Write(s);System.Threading.Thread.Sleep(1);}};

Programa completo sin golf:

class P
{
    static void Main()
    {
        System.Action a = () => 
            {
                for (int i = 0; ;)
                {
                    var s = "\nEat your hot dog";
                    if (i < 267e3)
                    {
                        i++;
                        s = "\nNot ready yet";
                    }
                    System.Console.Write(s);
                    System.Threading.Thread.Sleep(1);
                }
            };

        a();
    }
}

Desafortunadamente no pude usar el ?:operador, ya que no he encontrado una manera de dejar de incrementar isin el if.

raznagul
fuente
Pruebe algo como if(i++<267e3)guardar algunos bytes.
adrianmp
1
@adrianmp: Eso no funcionaría, ya que aún aumentaría icada milisegundo. Y una vez que int.MaxValuese alcanza, el programa se bloqueará o comenzará a imprimir Not ready yetnuevamente.
raznagul
Me las arreglé para lograr esto retrasando en gran medida el desbordamiento (o incluso mitigándolo a costa de unos pocos bytes). He "tomado prestadas" algunas ideas de su respuesta. ¡Gracias!
adrianmp
2

C #, 174 172 147 bytes

¡Ahorré 25 bytes al "tomar prestadas" algunas ideas de la respuesta C # de raznagul y fusionarlas con la suma del primer truco de n números!

Ahorró 2 bytes usando la suma del primer truco de n números para una pérdida de precisión de 185 milisegundos.

class P{static void Main(){for(int i=1;;){System.Console.WriteLine(i++<731?"Not ready yet":"Eat your hot dog");System.Threading.Thread.Sleep(i);}}}

Programa sin golf:

class P
{
    static void Main()
    {
        for (int i=1;;)
        {
            System.Console.WriteLine( i++ < 731 ? "Not ready yet" : "Eat your hot dog");
            System.Threading.Thread.Sleep(i);
        }
    }
}

Explicación:

Dado que el tiempo total de espera está codificado en 267 segundos, se puede considerar este número como una suma telescópica de los primeros n números naturales n * (n + 1) / 2, que debe ser igual a 267000 milisegundos.

Esto es equivalente a n^2 + n - 534000 = 0.

Al resolver esta ecuación de segundo orden, n1 = 730.2532073142067, n2 = -n1. Por supuesto, solo se acepta la solución positiva y se puede aproximar a 730 .

El tiempo total se puede calcular como 730 * (730 + 1) / 2 = 266815 milliseconds. La imprecisión es de 185 milisegundos , imperceptible para los humanos. El código ahora hará que el subproceso principal (y solo) duerma durante 1 milisegundo, 2 milisegundos y así sucesivamente hasta 730, por lo que el período de suspensión total es de ~ 267 segundos.

Actualizar:

La lógica del programa se puede simplificar aún más: básicamente, debe mostrar continuamente un mensaje y esperar un tiempo específico hasta cambiar al segundo mensaje.

El mensaje se puede cambiar utilizando un operador ternario para verificar el paso del tiempo especificado (~ 267 segundos).

El aspecto del tiempo se controla utilizando un contador creciente y pausando el hilo de ejecución.

Sin embargo, dado que la variable de contador continúa aumentando indefinidamente sin ninguna condición para verificar su valor, uno puede esperar un desbordamiento de enteros en algún momento, cuando el mensaje vuelve a Not ready yet.

Se puede agregar una condición para detectar y mitigar el problema asignando un valor positivo mayor que 730 cuando se produce el desbordamiento, como i=i<1?731:identro del forbucle. Lamentablemente, tiene un costo de 11 bytes adicionales:

class P{static void Main(){for(int i=1;;i=i<1?731:i){System.Console.Write(i++<731?"\nNot ready yet":"\nEat your hot dog");System.Threading.Thread.Sleep(i);}}}

La clave aquí es usar el valor del contador en milisegundos para retrasar en gran medida el momento de desbordamiento.

El tiempo hasta el desbordamiento se puede calcular de acuerdo con la sum(1..n)fórmula, donde n = el valor entero máximo de 32 bits con signo en C # (y el marco .NET) o 2 ^ 31 - 1 = 2147483647:

2 147 483 647 * 2 147 483 648 / 2 = 2,305843008 x 10^18 milliseconds = 2,305843008 x 10^15 seconds = 26 687 997 779 days = ~73 067 755 years

Después de 73 millones de años , podría no importar si aparece una falla en el sistema: el perro caliente, el OP hambriento y tal vez la raza humana en sí se han ido.


Versión anterior (172 bytes):

namespace System{class P{static void Main(){for(int i=1;i<731;){Console.Write("\nNot ready yet");Threading.Thread.Sleep(i++);}for(;;)Console.Write("\nEat your hot dog");}}}

Programa sin golf:

namespace System
{
    class P
    {
        static void Main()
        {
            for (int i = 1; i < 731; )
            {
                Console.Write("\nNot ready yet");
                Threading.Thread.Sleep(i++);
            }
            for ( ; ; )
                Console.Write("\nEat your hot dog");
        }
    }
}

Versión anterior (174 bytes):

namespace System{class P{static void Main(){for(int i=0;i++<267e3;){Console.Write("\nNot ready yet");Threading.Thread.Sleep(1);}for(;;)Console.Write("\nEat your hot dog");}}}

Programa sin golf:

namespace System
{
    class P
    {
        static void Main()
        {
            for (int i=0; i++ < 267e3; )
            {
                Console.Write("\nNot ready yet");
                Threading.Thread.Sleep(1);
            }
            for ( ; ; )
                Console.Write("\nEat your hot dog");
        }
    }
}

Alternativamente, el programa puede mostrarse Not ready yetsolo una vez, esperar hasta que termine el tiempo especificado y luego emitir Eat your hot dogsobrescribiendo el mensaje anterior mientras se acortan bastantes bytes:

C #, 145 bytes

namespace System{class P{static void Main(){Console.Write("Not ready yet");Threading.Thread.Sleep(267000);Console.Write("\rEat your hot dog");}}}

Programa sin golf:

namespace System
{
    class P
    {
        static void Main()
        {
            Console.Write("Not ready yet");
            Threading.Thread.Sleep(267000);
            Console.Write("\rEat your hot dog");
        }
    }
}
adrianmp
fuente
Eso es genial. Te daría +1, si aún no lo hubiera hecho. ;)
raznagul
2

Rubí, 80 71 67 Bytes

Editar: Gracias a manatwork por recortar 13 bytes completos

267.times{puts"Not ready yet"
sleep 1}
loop{puts"Eat your hot dog"}
BRFNGRNBWS
fuente
¿Por qué no 267.times{…}?
manatwork
Wow gracias. Me siento tonto ahora.
BRFNGRNBWS
Parece que estás contando con separadores de línea CR / LF. Como Ruby solo permite LF, solíamos contar eso solo. Y no hay necesidad del salto de línea después del {. Eso daría 67 bytes.
manatwork
Soy un principiante en Ruby, y un novato total en el golf de código, ¡así que gracias por toda la ayuda!
BRFNGRNBWS
En caso de que te lo hayas perdido, hay una colección de Consejos para jugar golf en Ruby para ayudar a los principiantes.
manatwork
2

05AB1E, 43 29 28 bytes (Gracias a Adnan)

267F…€–Žä‡«ªw,}[“Eat€ž…ß‹·“,

No funciona en línea, ya que se agota el tiempo de espera. Fuera de línea funcionará.

267F: Loop 267 veces

…€–Žä‡«ª: Primera cadena con diccionario

w,: Espere un segundo e imprima

}[: Finalizar si bucle e iniciar bucle infinito

“Eat€ž…ß‹·“: Segunda cadena con diccionario

,: Impresión

P. Knops
fuente
Gracias, mi cliente vio que este código era corto y funciona sin conexión; ahora quiere que escriba su sitio web con este idioma. . .
Pascal Raszyk
Funciona en línea, pero no en el intérprete que se brinda en línea. Puede verlo usted mismo aquí
P. Knops el
Lo sé. Fue una broma: D.
Pascal Raszyk
1
Lo mejor es responder de la manera normal: D
P. Llama al
“NotŽä‡«“puede ser reemplazado por…€–Žä‡«ª
Adnan
1

Python, 115 bytes

La primera vez que intento algo como esto. También soy un principiante, así que aquí va en Python 3 para 115 bytes:

import time
for i in range(267):
    time.sleep(1)
    print("Not ready yet")
while 1:
    print("Eat your hotdog")
Efraín Ruttenberg
fuente
3
Bienvenido al sitio! El objetivo del código golf es escribir el código más corto posible en su idioma. ¡Hay algunas cosas que se pueden mejorar y no podría hacer daño mirar al ganador actual de Python para obtener algunos consejos!
Remove the time.sleep (1) - guarda algunos bytes
Pascal Raszyk
@praszyk, entonces el ciclo forterminará en range(267)mucho más rápido que 4 minutos y 27 segundos y la solución dejará de ser válida. ☹
manatwork
1

Editor de bloques de JavaScript para micro: bit, 90 bytes

enter image description here

El código:

basic.showString("Not ready yet")
basic.pause(254000)
basic.showString("Eat your hot dog")

Puedes probarlo aquí.

Me inspiré en la respuesta de Scratch para resolver la tarea con mi micro: bit. El único problema es que el bloque de pausa comienza después de la salida de la primera cadena, por lo que necesitaba reducir la pausa en 13 segundos.

Nota: El antiguo Microsoft Block Editor para micro: bit es más corto de crear pero produce más código, por lo que en realidad es más largo.

izlin
fuente
1

Sobre la base de que el OP quiere perritos calientes continuamente, hasta el final de los tiempos, lo que entiendo por la frase:

Después de que haya transcurrido este tiempo, debe salir Coma su hot dog hasta el final de los tiempos.

Esta es mi respuesta:

C ++, 187 188 224 167 bytes

Espacio en blanco eliminado (167 bytes):

#include<stdio.h>
#include<windows.h>
int main(){for(;;){for(int x=0;x<267;x++){Sleep(1000);printf("Not ready yet");}Sleep(1000);printf("Eat your hot dog");}return 0;}

forma legible (224 bytes):

#include <stdio.h>
#include <windows.h>

int main() {
  for( ; ; ){ 
    for(int x=0; x < 267; x++){
      Sleep(1000);
      printf("Not ready yet"); 
    }
    Sleep(1000);
    printf("Eat your hot dog");
  }
  return 0;
}

Si, por otro lado, OP disfruta sus perros calientes con moderación, entonces esta es mi respuesta:

Espacio en blanco eliminado (158 bytes):

#include<stdio.h>
#include<windows.h>
int main(){for(int x=0;x<267;x++){Sleep(1000);printf("Not ready yet");}Sleep(1000);printf("Eat your hot dog");return 0;}

forma legible (198 bytes):

#include <stdio.h>
#include <windows.h>

int main() {
  for(int x=0; x < 267; x++){
    Sleep(1000);
    printf("Not ready yet"); 
  }
  Sleep(1000);
  printf("Eat your hot dog");
  return 0;
}
Tumbas
fuente
¿Qué es delay?
Quentin
OK, esa es una función antigua. Reemplazado con sueño (1000)
Tombas
Puede deshacerse de un montón de espacios en blanco para guardar bytes. Además, cuento 224 bytes, no 188.
HyperNeutrino
@HyperNeutrino tienes razón: conté las terminaciones de línea pero no los espacios en blanco iniciales. Editado en consecuencia (lo siento, soy nuevo en esto!)
Tombas
@Quentin delay () es una función que esperaba poder sacar directamente de Arduino ... ¡resulta que no puedo! Existió en el pasado como parte de la biblioteca dos.h, entiendo.
Tombas
1

Excel VBA, 82 bytes

El VBE anónimo evoca la función de ventana que no toma entrada y da salida si debe o no comer su hot dog a la celda [A1].

d=Now+#0:4:27#:Do:[A1]=IIf(Now<d,"Not ready yet","Eat your hot dog"):DoEvents:Loop
Taylor Scott
fuente
1
Interesante, no sabía que puede ejecutar el programa directamente desde la ventana Inmediato
Stupid_Intern
1

Excel VBA 122 94 bytes

Sub p()
e=Now+#0:4:27#
Do
[a1]=IIf(Now<e,"Not ready yet","Eat your hot dog")
Loop
End Sub

Gracias Taylor Scott

Estúpido_Intern
fuente
Puede reducir esta solución un poco, CDate("00:04:28")puede condensarse #0:4:27#, puede reemplazar su While ... Wendbucle con un Do .. Loopbucle y puede reemplazar su ifcláusula con una iifcláusula
Taylor Scott
@TaylorScott Sí, gracias :)
Stupid_Intern
1
@TaylorScott ¿hay alguna alternativa para msgbox?
Stupid_Intern
1
@TaylorScott también si la cláusula no funciona con msgbox, no estoy seguro de por qué y # 0: 4: 27 # autoformatos a una fecha, no a la hora, puedes editar la respuesta si quieres
Stupid_Intern
1
En realidad, debido a que VBA no tiene ningún STDIN o STDOUT, hay muchas opciones disponibles para usted, como la ventana inmediata de VBE y las celdas en Excel, puede ver más sobre esto en codegolf.stackexchange.com/a/107216/ 61846
Taylor Scott
0

Javascript, 83 bytes

d=Date.now()
while(1)alert(Date.now()-d<267000?"Not ready yet":"Eat your hot dog"))

Alertz para todos!


fuente
1
Puede cambiar 267000a 267e3y guardar un byte.
Powelles 05 de
De la pregunta: "Tienes que hacer un programa". Esto no es un programa o una función, sino un fragmento.
Lucas
77
Este es un programa.
programmer5000
1
Usted puede ahorrar unos pocos bytes utilizando new Dateen lugar de Date.now(), y otro mediante el uso de unos pocosfor(d=new Date;;)alert...
ETHproductions
2
alert() halts the program until the user closes and the challenge bans input
dandavis
0

PERL, 76 bytes

$|++;
for(1..247){print'Not ready yet';sleep 1};print "Eat your hot dog";for(;;){}
Hawk
fuente
6
I count 82 bytes.
Oliver
0

PHP 88 bytes

<?$t=0;do{$t++;echo "Not ready yet";sleep(1);} while ($t<267);echo "Eat your hotdog";?>
Jackal
fuente
1
“After this time has elasped, you should output Eat your hot dog until the end of time.” So you have to repeat the 2nd message too. That will add to its length, but fortunately there is place to shorten it: for($t=267;$t--;sleep(1))echo"Not ready yet";for(;;)echo"Eat your hotdog";. By the way, running code with php -r is accepted, so no need for the PHP tags (especially not the closing one, which is considered bad habit in that case: “The closing ?> tag MUST be omitted from files containing only PHP” – PSR-2).
manatwork
1
@manatwork untested: for($t=267;;sleep(1))echo $t-->0?"Not ready yet":"Eat your hotdog";
diynevala
Interesting one, @diynevala. According to the documentation, “If PHP encounters a number beyond the bounds of the integer type, it will be interpreted as a float instead. Also, an operation which results in a number beyond the bounds of the integer type will return a float instead.” – Integer overflow, so that condition should work correctly until the end of time.
manatwork
@manatwork Also sleeps for 1 second between outputs even after 267 seconds.
diynevala
0

REXX, 82 bytes

do forever
if time(e)<267 then say 'Not ready yet'
else say 'Eat your hot dog'
end
idrougge
fuente
0

Java 7, 152 bytes

void c(){for(long s=System.nanoTime(),e=s+(long)267e9;s<e;s=System.nanoTime())System.out.println("Not ready yet");System.out.print("Eat your hot dog");}

Explanation:

void c(){                                 // Method
  for(                                    //  Loop
      long s=System.nanoTime(),           //    Current time in nanoseconds as start
      e=s+(long)267e9;                    //    End time (267 seconds later)
      s<e;                                //    Loop as long as we haven't reached the end time
      s=System.nanoTime())                //    After every iteration get the new current time in nanoseconds
    System.out.println("Not ready yet");  //   Print "Not ready yet" as long as we loop
                                          //  End of loop (implicit / single-line body)
  System.out.print("Eat your hot dog");   //  Print "Eat your hot dog"
}                                         // End of method
Kevin Cruijssen
fuente
0

PHP, 68 bytes

for($t=268;$t--;sleep(1))echo$t?"Not ready yet←":"Eat your hot dog";

continuous output; is ASCII 10 = LF. Run with -r.

one-time output, 50 bytes

Not ready yet<?sleep(267);echo"←Eat your hot dog";

where is ASCII 13 = CR. Save to file or use piping to run.

Titus
fuente
0

RBX.Lua, 69 bytes

for i=1,267 do print"Not ready yet"Wait(1)end;print"Eat your hot dog"

RBX.Lua is the language used on ROBLOX.com. It is a modified version of Lua 5.1 that features a built-in 'Wait' function. The above code is pretty self-explanatory, below is a more readable version:

for i = 1, 267 do
    print("Not ready yet");
    Wait(1);
end

print("Eat your hot dog");

The code outputs "Not ready yet" continuously into STDOUT, for 267 seconds (4 minutes 27 seconds) before outputting "Eat your hot dog".

Josh
fuente
0

C - 130 bytes

It could be slightly shorter (128bytes), but I thought it neater to overwrite "Not ready yet"

#include<stdio.h>
#include<unistd.h>
int main(){printf("Not ready yet");fflush(stdout);sleep(267);printf("\rEat your hot dog\n");}
headbanger
fuente
Welcome on the site! You can omit #include<unistd.h> (it will emit a warning but still compile). Doing as you do (overwriting the previous message) is your right, but since the challenge doesn't really ask for it, I'd suggest not to do it. It would allow you to do int main(){puts("Not ready yet");sleep(267);puts("Eat your hot dog");} (with no includes, they aren't needed) - but no obligation to do it of course.
Dada
-1

VBA,126 Bytes

sub hd()
Debug.print "Not ready Yet"
application.wait(now+timevalue(00:04:27))
Debug.print "Eat your hot dog"
end sub
Sivaprasath Vadivel
fuente
1
Doesn't do what the challenge asked for.
Matthew Roh
-1

Python 2.7, 90 88 bytes

import time;exec"print'Not ready yet';time.sleep(1);"*267;while 1:print"Eat your hotdog"
Koishore Roy
fuente
I don't get why someone -1'd my answer. can some1 explain? :(
Koishore Roy