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

Posted

技术标签:

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

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

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

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

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

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

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

以上是关于尝试索引本地“args”(函数值)的主要内容,如果未能解决你的问题,请参考以下文章

pandas 学习 第10篇:DataFrame 数据处理(应用追加截断连接合并重复值重索引重命名重置索引设置轴索引选择和过滤)

Lua - util_server.lua:440 尝试索引本地“自我”(零值)

有没有办法在二维数组中找到输入值的每个索引?

pandas cum系列函数

使用异常处理、*args 和 **kwargs 删除函数的无穷大值

在合并列函数中应用 *args 并指示字符串值