Lua - Попытка записи в файл
Я использую Rainmeter для передачи значений давления воздуха в сценарий lua, который затем хочу записать в текстовый файл и сохранить последнее число x, которое будет получено позже, для создания гистограммы изменений давления во времени.
Для начала я просто пытаюсь записать строку в файл в качестве теста, но у меня ничего не получается и я чувствую себя довольно глупо в этом процессе.
В моем скрипте есть функция Update, где я передаю и возвращаю значение давления из Rainmeter, а затем другую функцию, называемую writetofile, где я пытаюсь открыть, записать, а затем закрыть текстовый файл. Именно с этой частью у меня проблемы.
Мой сценарий выглядит следующим образом:
function Initialize()
end -- function Initialize
function Update()
sMyPressure = SELF:GetOption('CurrentPressure')
return sMyPressure
end -- function Update
function writetofile()
file = io.open("pressures.txt", "w")
file:write("Hello World")
file:close()
end
РЕДАКТИРОВАТЬ
Я попытался удалить функцию writetofile и переместить содержимое в функцию обновления, но это не сработало, и скрипт перестал передавать sMyPressure обратно в сценарий Rainmeter, а также не записал в текстовый файл.
например:
function Initialize()
end -- function Initialize
function Update()
sMyPressure = SELF:GetOption('CurrentPressure')
return sMyPressure
file = io.open("pressures.txt", "w")
file:write("Hello World")
file:close()
end -- function Update
Что я делаю неправильно? файл pressures.txt существует и доступен для записи, и если я его удаляю, он не создается.
Может кто-нибудь помочь, пожалуйста.
Благодарю.
РЕДАКТИРОВАТЬ
Получил это работает.
1) Я не могу вызвать функцию из Обновления
2) Как сказал Майк, мне нужен полный путь к файлу
3) Этот путь требует двойного возврата \
Рабочий код, если кто-то заинтересован или имеет ту же проблему:
function Initialize()
end -- function Initialize
function Update()
sMyPressure = SELF:GetOption('CurrentPressure')
writetofile(sMyPressure)
return sMyPressure
end -- function Update
function writetofile(CurrentPressure)
file = io.open("C:\\Users\\Hedley\\Documents\\Rainmeter\\Skins\\SimplyNova\\Wunderground\\pressures.txt", "a")
-- file:write("hello", "\n")
file:write(CurrentPressure, "\n")
file:close()
end