Как записать текст в определённую строку file:write

Scrix

Известный
Автор темы
231
295
Версия MoonLoader
.027.0-preview
Мне нужно чтобы file:write записывал не в последнюю строку а в определённую строку в txt файле
 
Решение
Попробовал сделать готовую функцию, хз на сколько костыль, но, думаю, сойдёт.
file - путь до файла, включительно
numberLine -номер строки, куда требуется вписать произвольный текст
text - текст, который необходимо вписать в строку

Lua:
function writeFilebyLine(file, numberLine, text)
    local list = {}
    for line in io.lines(file) do
        table.insert(list, line)
    end
    local file = io.open(file, "w");
    table.insert(list, numberLine, text)
    file:write(table.concat(list, "\n"))
    file:flush();
    file:close();
end

Hatiko

Известный
Проверенный
1,494
617
Попробовал сделать готовую функцию, хз на сколько костыль, но, думаю, сойдёт.
file - путь до файла, включительно
numberLine -номер строки, куда требуется вписать произвольный текст
text - текст, который необходимо вписать в строку

Lua:
function writeFilebyLine(file, numberLine, text)
    local list = {}
    for line in io.lines(file) do
        table.insert(list, line)
    end
    local file = io.open(file, "w");
    table.insert(list, numberLine, text)
    file:write(table.concat(list, "\n"))
    file:flush();
    file:close();
end
 
  • Нравится
Реакции: Scrix и Gorskin

Scrix

Известный
Автор темы
231
295
Попробовал сделать готовую функцию, хз на сколько костыль, но, думаю, сойдёт.
file - путь до файла, включительно
numberLine -номер строки, куда требуется вписать произвольный текст
text - текст, который необходимо вписать в строку

Lua:
function writeFilebyLine(file, numberLine, text)
    local list = {}
    for line in io.lines(file) do
        table.insert(list, line)
    end
    local file = io.open(file, "w");
    table.insert(list, numberLine, text)
    file:write(table.concat(list, "\n"))
    file:flush();
    file:close();
end
1558270302_2.jpg