如果我在格式或其他方面做错了什么,抱歉,我不经常使用这个网站。
我正在尝试在lua中创建一个函数,该函数使用我给它的名称,并使用该名称创建一个子表,当我尝试这样的操作时,它只是创建了我在函数代码中放入的绝对名称。
NewSubtable =
function(SubtableName)
Table.SubtableName = {} --Creates a subtable called SubtableName
end
我怎样才能创建一个子表,当我使用它时,该子表由我在函数中给出的名称调用?是否有指示符或其他东西让代码知道不要使用给定的名称,而是使用我使用函数时分配的变量?
编辑:所以每当我尝试这个时,我都会得到结果“表索引为零”,它指向第 4 行的错误
我去测试了这个,但使用了不同的输入类型,这只是我的错。我不认为字符串会是我正在做的事情所需的值类型。我的问题解决了。
完整代码:
Items = {}
NewWeapon = function(id, name, desc, minDMG, maxDMG)
Items[id] = {}
Items[id].Name = name
Items[id].Desc = desc
Items[id].MinDMG = minDMG
Items[id].MaxDMG = maxDMG
end
NewWeapon(Test, "test", "test", 1, 1)
最佳答案
Table.SubtableName
实际上是 Table['SubtableName']
的语法糖。要使用变量 SubtableName 的内容,请使用 idom Table[SubtableName]
。
关于function - Lua 根据函数输入命名表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41418892/