Lua: 保存并打开一个二维的 table 键索引

Lua: Saving and opening a two dimensional table indexed by key

如果我的问题中的语义有误,我深表歉意,但下面的代码应该可以解释我的目标是什么。

我创建了一个 table 像这样:

local a1 = {}
a1.hammer = {
  price = 10,
  quantity = 5,
  category = "tools",
}
a1.saw = {
  price = 15,
  quantity = 4,
  category = "tools",
}
a1.screwdriver = {
  price = 4,
  quantity = 12,
  category = "tools",
}

打印这个 table 的内容得到:

 {hammer = {price = 10,
                                      quantity = 5,
                                      category = "tools"},
                            saw = {price = 15,
                                   quantity = 4,
                                   category = "tools"},
                            screwdriver = {price = 4,
                                           quantity = 12,
                                           category = "tools"}} 

问题1:如何获取螺丝刀的价格(即table的table字段)

问题 2: 我如何:

  1. 将 table a1 保存到文件
  2. 打开文件并导入 table 下次我 运行 应用程序

注意:local a2 = a1 returns nil for a2 而不是将a1的引用赋值给a2。这里有问题...

@Luke Allison

我可能会回答你的第一个问题:

Question 1: How do I access the price of the screwdriver (ie. field of a table of a table)

你可以试试这个代码:

打印(a1["screwdriver"]["price"])

结果 = 4。

关于第二个问题,你应该看看上面评论中的link。

希望对您有所帮助。