大连建站,包装设计案例,苏州建设信息网站,杭州市区网站制作单位模块就像可以使用 require 加载的库#xff0c;并且具有包含Table的单个全局名称#xff0c;该模块可以包含许多函数和变量。
Lua 模块
其中一些模块示例如下。
-- Assuming we have a module printFormatter
-- Also printFormatter has a funtion simpleFormat(arg)
-- …
模块就像可以使用 require 加载的库并且具有包含Table的单个全局名称该模块可以包含许多函数和变量。
Lua 模块
其中一些模块示例如下。
-- Assuming we have a module printFormatter
-- Also printFormatter has a funtion simpleFormat(arg)
-- Method 1
require printFormatter
printFormatter.simpleFormat(test)-- Method 2
local formatterrequire printFormatter
formatter.simpleFormat(test)-- Method 3
require printFormatter
local formatterFunctionprintFormatter.simpleFormat
formatterFunction(test)
让无涯教程考虑一个简单的示例其中一个函数具有数学函数。将此模块称为mymath文件名为mymath.lua。文件内容如下-
local mymath {}function mymath.add(a,b)print(ab)
endfunction mymath.sub(a,b)print(a-b)
endfunction mymath.mul(a,b)print(a*b)
endfunction mymath.div(a,b)print(a/b)
endreturn mymath
现在为了在另一个文件(如moduletutorial.lua)中访问此Lua模块您需要使用以下代码段。
mymathmodulerequire(mymath)
mymathmodule.add(10,20)
mymathmodule.sub(30,20)
mymathmodule.mul(10,20)
mymathmodule.div(30,20)
为了运行此代码需要将两个Lua文件放置在同一目录中或者可以将模块文件放置在包路径中。当运行上面的程序时将得到以下输出。
30
10
200
1.5
旧方法实现
现在以较旧的方式重写相同的示例该示例使用package.seeall实现类型。这在Lua 5.1和5.0版本中使用过。 mymath模块如下所示。
module(mymath, package.seeall)function mymath.add(a,b)print(ab)
endfunction mymath.sub(a,b)print(a-b)
endfunction mymath.mul(a,b)print(a*b)
endfunction mymath.div(a,b)print(a/b)
end
下面显示了moduletutorial.lua中模块的用法。
require(mymath)
mymath.add(10,20)
mymath.sub(30,20)
mymath.mul(10,20)
mymath.div(30,20)
运行上面的命令时将获得相同的输出。许多使用Lua进行编程的SDK(如Corona SDK)已弃用此方法。 Lua - Modules(模块) - 无涯教程网无涯教程网提供模块就像可以使用 require 加载的库并且具有包含Table 的单个全局名称该模块可以...https://www.learnfk.com/lua/lua-modules.html