Module 这是在Lua中制作模块的正确方法吗?

Module 这是在Lua中制作模块的正确方法吗?,module,lua,Module,Lua,在官方的LuaWiki上,它声明这就是制作模块的方式 local mymodule = {} function mymodule.foo() print("Hello World!") end return mymodule 但你就不能这么做吗 return { foo=function() print("Hello World!") end } 我熟悉Lua,但不是专家。我写的东西有什么问题吗?你的方式很好 wiki中的示例更适合于具有多个函数和可能的私有数据的较大模块。您的变

在官方的LuaWiki上,它声明这就是制作模块的方式

local mymodule = {}

function mymodule.foo()
    print("Hello World!")
end

return mymodule
但你就不能这么做吗

return { foo=function() print("Hello World!") end }

我熟悉Lua,但不是专家。我写的东西有什么问题吗?

你的方式很好


wiki中的示例更适合于具有多个函数和可能的私有数据的较大模块。

您的变体中没有任何错误。但这里有两个不方便的时刻。1) 一行字很难读。2) 在您的函数中,您无法访问此模块的其他函数。如果您有两个函数
foo
bar
,则它们不能相互调用。