异常的LUA函数语法

异常的LUA函数语法,lua,Lua,我是LUA的新用户,5.3版,我遇到了一个有点让人困惑的函数语句。我试图在参考手册中找到一些解释,但没有用 function myfunc.execute() print("Hello") end 我不懂这个语法。这是否意味着要添加“.execute()” 下面是一个无法在表myfunc中打印的示例文件 local myfunc = {} myfunc.version = "2.0" function myfunc.execute() print("Hello World!")

我是LUA的新用户,5.3版,我遇到了一个有点让人困惑的函数语句。我试图在参考手册中找到一些解释,但没有用

function myfunc.execute()
   print("Hello")
end
我不懂这个语法。这是否意味着要添加“.execute()”

下面是一个无法在表myfunc中打印的示例文件

local myfunc = {}
myfunc.version = "2.0"

function myfunc.execute()
   print("Hello World!")
end

return myfunc

当我运行这个时,我没有得到打印输出:“你好,世界!”。我试图理解lua在文件中执行上述脚本时是如何工作的。为什么print语句不起作用?

在您的示例中,您只是定义了
myfunc
表中的
execute
方法。删除
return myfunc
行,然后像这样调用函数:

myfunc.execute()

execute
字没有什么特别之处。它不是Lua关键字。这只是你给一个函数起的名字。

myfunc
是一个表,
execute
是一个位于该表内的函数。请参阅@EgorSkriptunoff,谢谢你的帮助。你能看一下编辑后的问题和评论吗?非常感谢您的输入。@lhf感谢链接:-)