как исправить: попытка индексировать глобальное «f» (нулевое значение), редактирование текста ввода / вывода LUA - PullRequest
0 голосов
/ 05 мая 2019

Как видно из заголовка, при выполнении следующего кода появляется ошибка.

// открыть файл

local out = io.open('path', 'r') 

// Извлечь все строки и добавить их в таблицу

local lines = {}
for line in f:lines() do  
    table.insert(lines, line)
end

// закрыть

  out:close() 

// вставить строку

 table.insert(lines, 8, "test this bullshit\n")

// временный файл

local out = io.open('pathnew', 'w')
for _, line in ipairs(lines) do
    out:write(line)
end

// закрыть временное

   out:close()

// удалить старый файл (из первого io.open)

os.remove('pathold')

// переименовать временный файл в старый (из первого io.open)

os.rename('pathnew', 'pathold')

1 Ответ

1 голос
/ 05 мая 2019

Вы открываете файл, который называете out, но затем пытаетесь прочитать строки из файла, который вы называете f. f не существует.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...