我知道我可以使用
if mydata.settings.something >= 1 then
something
但是我可以在一行中保存数据吗?我尝试过这样的事情
mydata.settings.something = 1
_G.something = 1
_G.mydata.settings.something = 1
并且它不起作用,有人可以告诉我是否存在保存数据的简短功能吗?
答案 0 :(得分:0)
您可以将设置写入不同的文件,然后通过dofile ([filename])
方法加载它们,指定保存好东西文件的路径。应谨慎使用此选项,因为它还会执行文件的内容,并且根据您内部的功能,它可能会损害您的计算机。
更安全的选项是将您拥有的任何内容放入.lua文件中,您可以使用require (modname)
加载该文件。
希望这有帮助。
答案 1 :(得分:0)
请看Simple table load save functions。
我在这里复制来自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.DocumentsDirectory进行保存 游戏设置。如果您需要将文件保存到其他位置,则可以 将另一个参数“CachesDirectory”或“TemporaryDirectory”传递给 用于将更改应用于指定位置的功能。
例如:
loadsave.saveTable(myTable, "myTable.json", system.TemporaryDirectory) loadsave.loadTable("myTable.json", system.TemporaryDirectory)
如果您想更改默认目录,则可以更改 代码中的变量(
DefaultLocation = system.TemporaryDirectory
)或 在你的电话中拨打loadsave.changeDefault(system.TemporaryDirectory)
代码。
我在我的应用程序中使用它,它的效果非常好。我希望能帮助你。