模块定义

lua-users home
wiki

在 Lua 中,有许多方法可以定义一个“模块” [1]

通过表

-- mymodule.lua
local M = {} -- public interface

-- private
local x = 1
local function baz() print 'test' end

function M.foo() print("foo", x) end

function M.bar()
  M.foo()
  baz()
  print "bar"
end

return M

-- Example usage:
local MM = require 'mymodule'
MM.bar()

这是一种常见的方法。它很简单,不依赖任何外部代码,避免了全局变量,并且很少有陷阱。面向外部的变量以“M.”为前缀,清晰可见。

另请参阅


RecentChanges · preferences
编辑 · 历史
最后编辑于 2015年2月19日 上午12:01 GMT (差异)