【发布时间】:2014-05-01 03:22:30
【问题描述】:
我对 Lua 语言比较陌生,而且我显然缺少关于表结构的一些东西。
我正在尝试创建一个表,表中的每个表都有一个键,值是相应的表。
好的,这句话可能会令人困惑。这是一个例子:
{{ key = "RC", value = {1, 2, 3, 4}},
{ key = "M", value = {4, 8, 7}},
{ key = "D", value = {3, 8, 9}}
...}
为此,我使用了以下算法:
local listOfLists = {};
...
if condition1 then
listOfLists[key1] = list1;
end
...
if condition2 then
listOfLists[key2] = list2;
end
...
等等……
我希望稍后使用这些键来确定哪些列表已添加到表中。 但问题是,即使满足所有条件,似乎也没有列表添加到表中。
我可以使用table.insert(listOfLists, list1) 代替listOfLists[key1] = list1,但我无法分辨哪些列表已添加到集合中。
蚂蚁建议?
【问题讨论】:
-
请注意,您提供的示例满足
listOfLists[key1] = list1的key1整数和list1形式的{key="R", value={1,2,3,..}}。根据您的要求,更实用的结构可能是{ RC = {1,2,3,...}, M = {4,8,7}, ... },即其中key1是原始list1的键,list1是值表。当条件1满足时,你能打印出key1和list1是什么吗?做print("key", type(key1), key1, "list", type(list1), list1). -
为了清楚起见,我明确指出了“键”和“值”,但似乎我反而增加了混淆。我正在尝试构建的正是您在评论
{ RC = {1,2,3,...}, M = {4,8,7}, ... }中描述的内容,但没有成功。 -
好的,那么我怀疑你得到的答案是否有助于解决“即使满足所有条件也不会将列表添加到表中”,到目前为止的状态是什么?如果没有,我认为您将不得不发布更详细的代码来显示您拥有的结构、实际情况以及将项目添加到列表中,因为您所显示的内容看起来很好,所以问题出在未显示的代码中。跨度>