【问题标题】:Attempt to index local 'args' (a function value)尝试索引本地“args”(函数值)
【发布时间】:2017-02-07 04:26:26
【问题描述】:

我试图通过使用带有%S+ 的gmatch 将字符串拆分为表格。但是我遇到了错误:

尝试索引本地“args”(一个函数值)

以下是我认为有问题的三行代码:

print(msg)
local args = string.gmatch(msg, "%S+")
print(args[1])

所以第一行print(msg) 只是打印一个正常的字符串,因为它应该。第二行假设用空格分割该字符串,并将表存储在 args 中。第三行假设打印表中的第一个值,但是它给了我上面显示的错误。谢谢。

【问题讨论】:

    标签: lua roblox


    【解决方案1】:

    string.gmatch 不会以您期望的方式返回结果;它返回一个迭代器(一个特殊函数),然后您可以在循环中使用它来获取您需要的值。这就是为什么当您尝试索引返回的函数时会出现该错误的原因。

    您可以查看the documentationthis SO question 以获取有关如何使用gmatch 获取值的示例。

    【讨论】:

      猜你喜欢
      • 2017-03-12
      • 2020-08-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-20
      • 2012-12-13
      • 1970-01-01
      相关资源
      最近更新 更多