Lua中的模块化代码结构

最近我一直在使用Love2d构建Conway的生命游戏实现。

我非常喜欢这个框架,但我还没有弄清楚如何将我的代码模块化,这对于稳定的代码结构是至关重要的。

我的想法是能够导入一个具有不同函数的文件,并能够通过我的主Lua文件访问它。我已经能够编写脚本并运行整个文件,但无法运行特定的函数。

在Lua中是否有这样的方法?如果有,怎么做?

谢谢!

原文链接 https://stackoverflow.com/questions/9673105

点赞
stackoverflow用户300886
stackoverflow用户300886

Lua 支持模块。这里是使用它们的教程:http://lua-users.org/wiki/ModulesTutorial

2012-03-12 19:27:25
stackoverflow用户312586
stackoverflow用户312586

你可以在 LÖVE 中使用 require 函数,它的使用方式和 Lua 中的一样。

-- lib.lua

local lib = {} -- 存储函数的表

function lib.inc(x)
  return x + 1
end

return lib

以下是如何在另一个文件中(例如 main.lua)使用 require

local lib = require('lib')

function love.load()
  print(lib.inc(1)) -- 在终端中打印出“2”
end
2012-03-12 21:49:58