Здравствуйте! Делая выход из цикла нажатием на клавишу я столкнулся с непонятным мне багом. Опишу его таким вот кодом для примера:
local c = require('component')
local term = require('term')
local event = require('event')
local keyboard = require('keyboard')
local gpu = c.gpu
function main()
term.clear()
io.write('exit >> ')
local text = io.read()
if text == 'exit' then
term.clear()
os.exit()
elseif text == 'test' then
event.listen('key_down',test)
test()
else
main()
end
end
function test(name,adress,char,code,player)
term.clear()
while true do
key = tostring(keyboard.keys[code])
gpu.set(1,1,'for stop press Q')
os.sleep(0.0000000001)
if key == 'q' then break end
end
event.ignore('key_down',test)
term.clear()
print('test')
os.sleep(2)
main()
end
main()
Суть бага: я запускаю скрипт, пишу exit и он закрывается, как положено, но когда я напишу exit после того как запущу и остановлю цикл test, то на экране снова высвечивается 'test' на 2 секунды и возвращается в main() вместо того чтобы закрыться. Почему?? А второй раз когда я пишу exit, то скрипт уже закрывается... Как избавиться от этого??
Здравствуйте! Делая выход из цикла нажатием на клавишу я столкнулся с непонятным мне багом. Опишу его таким вот кодом для примера:
Суть бага: я запускаю скрипт, пишу exit и он закрывается, как положено, но когда я напишу exit после того как запущу и остановлю цикл test, то на экране снова высвечивается 'test' на 2 секунды и возвращается в main() вместо того чтобы закрыться. Почему?? А второй раз когда я пишу exit, то скрипт уже закрывается... Как избавиться от этого??
Изменено пользователем N1nt3nd0Поделиться сообщением
Ссылка на сообщение
Поделиться на других сайтах