不寻常的 LUA 函数语法

我是一个新的 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

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

点赞
用户4403144
用户4403144

在你的例子中,你只是定义了 myfunc 表中的 execute 方法。删除 return myfunc 这一行,直接像这样调用你的函数:

myfunc.execute()

execute 这个词没有什么特别的含义,它不是 Lua 的关键词,只是你给一个函数命名的名称。

2018-06-29 20:46:45