【问题标题】:Lua Naming a table from function inputLua 根据函数输入命名表
【发布时间】:2017-05-16 02:12:37
【问题描述】:

如果我在格式或其他方面做错了,对不起,我不经常使用这个网站。

我正在尝试在 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] = {}

标签: function lua


【解决方案1】:

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

【讨论】:

  • 欢迎您!将文本括在反引号中以将其显示为代码。
  • 感谢您的提示。我已经想知道如何标记代码!祝你 2017 年美好!
  • 每当我尝试使用这种输入方式创建表格时,都会收到错误“表格​​索引为零”,我不知道如何修复它。
  • 请展示一个 xcomplete 示例代码,它会为您提供 nil 消息,我相信我们可以弄清楚发生了什么。
  • 好吧,代码不多,所以应该没问题。我真的不太了解,只是一些简单的东西,因为我一直坚持这一点,所以我还没有走多远。
猜你喜欢
  • 2014-10-14
  • 2021-12-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-29
  • 2013-03-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多