2

在我的 Lua 脚本中,我有多个使用相同“结构”的库。例如,我有一个包含 'require('b')' 和 require('c') 的.lua。b.lua 和 c.lua 都有 info 函数。b.lua 让它打印“b”,c.lua 让它打印“c”。现在我希望能够指定我在 a.lua 中使用的内容。

4

1 回答 1

4

使用表将您的“b”和“c”模块放入不同的命名空间,然后明确限定要使用的命名空间a.lua。例如:

-- b.lua
local function info()
  print "b"
end

return { info = info }

-- c.lua
-- another style
local M = {}
function M.info()
  print "c"
end

return M

-- a.lua
b = require 'b'
c = require 'c'

b.info()  -- prints "b"
c.info()  -- prints "c"

local info = b.info -- ok you really want 'b'
info()    -- prints "b"
于 2013-10-21T10:03:03.710 回答