如何从文件加载表格。

我知道如何在文本文件中编写和恢复表格内容。但是在文件中编写自定义表格类型的最佳实践是什么?

这是我的情况: 我有一组表格,例如 objective1 = {} objective2 = {} objective3 = {} .. 每个目标都有自己的执行函数,根据条件检查并执行一些命令。 每个新游戏都会选择一组随机目标,并将它们存储在一个数组中,例如 Objectives = { [1] = { objective1 , objective3 } } 现在我想保存随机目标的数组,并稍后从文件中加载它们。

是否有可能在数组中保存表的名称,并通过名称恢复它们? 最好不使用工厂模式或使用索引进行保存的解决方案。

点赞
用户1190388
用户1190388

如果表中的任何数据不是 userdata(例如 SQL 或套接字连接或其他库),则可以使用 pickle 模块 将数据写入文件,然后从文件中加载相同的数据。

我个人使用不同的 pickle 库(由 Walter Doekes 编写)。使用方法如下:

local TableToStore = { 'a', 'b', 1, {'nested', 'content', {c = 'inside'}} }
pickle.store( 'backupFileName.bak', {TableToStore = TableToStore} )

要恢复数据,我只需简单地使用

dofile "backupFileName.bak"

在此之后,我将获得一个名为 TableToStore 的表。

2014-06-10 11:32:42