Lua从函数输入中命名一个表

时间:2017-01-01 20:47:53

标签: function lua

如果我对格式或其他任何内容做错了,抱歉,我不经常使用此网站。

我试图在lua中创建一个函数,我给它一个名字,并创建一个具有该名称的子表,当我尝试这样的东西时,它只是创建了我放在函数中的绝对名称& #39;代码。

NewSubtable =
function(SubtableName)
    Table.SubtableName = {} --Creates a subtable called SubtableName
end

如何创建一个子表,当我使用它时,我在函数中给出的名称调用它?是否有指示符或某些东西让代码知道不使用给定的名称,而是使用我在使用函数时分配的变量?

编辑:所以每当我尝试这个时,我得到结果"表索引是nil"它指向第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)

1 个答案:

答案 0 :(得分:5)

Table.SubtableName实际上是Table['SubtableName']的语法糖。要使用变量SubtableName的内容,请使用idom Table[SubtableName]