Hoe kan ik dit gebruiken om een vertraging van 2 minuten toe te voegen aan mijn Lua-programma, hier is de code voor de vertraging, maar ik weet niet hoe ik de vertraging moet toevoegen.
function sleep(n)
local t = os.clock()
while os.clock() - t <= n do
-- nothing
end
end
Antwoord 1, autoriteit 100%
De functie os.clock
retourneert het aantal seconden CPU-tijd voor het programma. Dus de sleep
-functie van je wacht n
seconden, als je 2 minuten moet wachten, bel dan:
sleep(2*60)
Merk op dat er een aantal betere oplossingen zijn om sleep
-functies te implementeren, behalve druk wachten, zie Slaapfunctievoor details.
Antwoord 2
Misschien werkt dit
function sleep(n)
n = math.ceil(n)
if n <= 0 and n > 99999 then return end --If the user enter a number below 0 and higher than 99999 the limit in TIMEOUT command in Windows
os.execute("timeout /T "..tostring(seconds).." /NOBREAK")
end
Hiermee wordt geen CPU-tijd verspild door een drukke lus
maar “Wacht op n seconden, druk op CTRL+C om te stoppen…”
In Windows kun je -1 gebruiken, maar het zal voor altijd wachten, dus ik beperk het omdat eeuwig wachten nutteloos is. En als je niet wilt dat “Wachten op n seconden, druk op CTRL + C om te stoppen …” verschijnt. Ik weet niet of dat hetzelfde kan doen zonder dat weer te geven. Als je daar vanaf wilt, voeg dan gewoon os.execute(“cls”) toe na de os.execute(“timeout /T “..tostring(seconds).” /NOBREAK”) instructie en het zal de console opruimen