我知道我可以使用
if mydata.settings.something >= 1 then
something
但是我可以将数据也保存在一行中吗?我试过这样的事情
mydata.settings.something = 1
_G.something = 1
_G.mydata.settings.something = 1
而且它不起作用,有人可以告诉我是否有保存数据的简短功能吗?
您可以将设置写入其他文件并通过 dofile ([filename])
方法加载它们,指定已保存好东西文件的路径。但是,应谨慎使用此选项,因为它也会执行文件的内容,并且根据您内部的功能,它可能会损害您的计算机。
更安全的选择是将您拥有的任何内容放入一个 .lua 文件中,您可以使用 require (modname)
加载该文件。
希望这有帮助。
查看简单的表加载保存函数。
我在这里复制来自github的信息:
用法:
local loadsave = require("loadsave") myTable = {} myTable.musicOn = false myTable.soundOn = true loadsave.saveTable(myTable, "myTable.json") Then to read it back in: myTable = loadsave.loadTable("myTable.json")
默认情况下,此基本代码使用 system。要保存的文档目录 游戏设置。如果需要将文件保存到其他位置,可以 将另一个参数"CachesDirectory"或"TemporaryDirectory"传递给 函数将更改应用到指定位置。
例如:
loadsave.saveTable(myTable, "myTable.json", system.TemporaryDirectory) loadsave.loadTable("myTable.json", system.TemporaryDirectory)
如果要更改默认目录,则可以更改 代码中的变量 (
DefaultLocation = system.TemporaryDirectory
) 或 呼叫loadsave.changeDefault(system.TemporaryDirectory)
法典。
我在我的应用程序中使用它,它运行得很好。我希望对您有所帮助。