在文件中保存变量值
Saving values of variables in files
我正在制作一个使用大量变量并不断更改它们的程序。
如何从程序内部将这些变量保存到另一个文件中?
您必须使用io.open(filename, mode)
创建文件句柄,然后使用:write(linecontent)
和:read("*line")
依次写入和读取。从那里你可以通过跟踪你使用的每个变量的行顺序来 "load" 和 "save" 变量:
local f = assert(io.open("quicksave.txt", "w"))
f:write(firstVariable, "\n")
f:write(secondVariable, "\n")
f:write(thirdVariable, "\n")
f:close()
local f = assert(io.open("quicksave.txt", "r"))
firstVariable = f:read("*line")
secondVariable = f:read("*line")
thirdVariable = f:read("*line")
f:close()
最好的方法是将变量放在 table 中,然后像这样使用 textutils.serialize:
要保存它,请执行以下操作:
local file = fs.open("filename", "w")
file.write(textutils.serialize(your_table))
file.close()
加载它:
local file = fs.open("filename", "r")
your_table = textutils.unserialize(file.readAll())
file.close()
我正在制作一个使用大量变量并不断更改它们的程序。
如何从程序内部将这些变量保存到另一个文件中?
您必须使用io.open(filename, mode)
创建文件句柄,然后使用:write(linecontent)
和:read("*line")
依次写入和读取。从那里你可以通过跟踪你使用的每个变量的行顺序来 "load" 和 "save" 变量:
local f = assert(io.open("quicksave.txt", "w"))
f:write(firstVariable, "\n")
f:write(secondVariable, "\n")
f:write(thirdVariable, "\n")
f:close()
local f = assert(io.open("quicksave.txt", "r"))
firstVariable = f:read("*line")
secondVariable = f:read("*line")
thirdVariable = f:read("*line")
f:close()
最好的方法是将变量放在 table 中,然后像这样使用 textutils.serialize:
要保存它,请执行以下操作:
local file = fs.open("filename", "w")
file.write(textutils.serialize(your_table))
file.close()
加载它:
local file = fs.open("filename", "r")
your_table = textutils.unserialize(file.readAll())
file.close()