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

Jos*_*aCF 2 lua function

如果我对格式化或其他任何事情做错了,抱歉,我不经常使用这个网站.

我正在尝试在lua中创建一个函数,我拿了一个名字给它,并创建一个具有该名称的子表,当我尝试这样的东西时,它只是在函数的代码中输入了绝对名称.

NewSubtable =
function(SubtableName)
    Table.SubtableName = {} --Creates a subtable called SubtableName
end
Run Code Online (Sandbox Code Playgroud)

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

编辑:所以每当我尝试这个,我得到的结果"表索引是零",它指向第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)
Run Code Online (Sandbox Code Playgroud)

Mar*_*mer 5

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

  • 欢迎!在反引号中包含文本以将其显示为代码. (2认同)