You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Lua创建表时出现'(', expected near 'myFunction'错误求助

Lua错误:'(', expected near 'myFunction' 原因分析

你遇到的错误是Lua函数定义语法规则导致的:

当把函数作为参数直接传入另一个函数(比如table.insert的第二个参数)时,必须使用匿名函数的表达式形式,不能给函数加名称。function MyFunction() end属于语句式的具名函数定义,不能直接放在表达式位置(比如函数参数里)。

错误代码:

MyTable = {}
table.insert(MyTable, function MyFunction() end)

两种修正方案:

  • 若不需要外部引用该函数,直接使用匿名函数:
MyTable = {}
table.insert(MyTable, function() end)
  • 若需要保留函数名以便后续调用,可先定义函数再插入:
MyTable = {}
function MyFunction() end
table.insert(MyTable, MyFunction)

或者直接给表指定键名(如果不需要按顺序插入):

MyTable = {
    MyFunction = function() end
}

本质上,Lua中function 函数名()是用于定义并绑定函数到变量的语句,而作为参数传递时需要的是函数表达式——要么是无名称的匿名函数,要么是已绑定到变量的函数引用。

内容的提问来源于stack exchange,提问作者MakePrint0

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 00:15:33