2
У вас есть функция lua, которая эмулирует завершение выполнения в% записи до stdout
.Как очистить линию stdout в Lua?
function progress(completed)
io.write(completed.."\r")
io.flush()
end
progress("1% completed"); progress("50% completed")
Выход буду
% завершено
Часть текста исчезла. В питона в аналогичной ситуации я бы, вероятно, очистить линию перед записью stdout
следующим образом:
sys.stdout.write(' ' * 50 + '\r')
sys.stdout.write(text + '\r')
sys.stdout.flush()
Как очистить stdout
строку в Lua?
Я бы сделал следующее, но есть ли лучший или более стандартный способ?
function iop(str)
io.write(string.format("%050s\r", ' '))
io.write(str)
io.flush()
end
Первый скрипт, который вы дали работает по назначению в Lua 5.3.3. Проблема начнется, если вторая строка будет короче. – Green