lua 模块

来源:互联网 发布:淘宝买东西如何开发票 编辑:程序博客网 时间:2024/06/05 17:12
-- 文件名为 test2.lua--模块类似于一个封装库:可以把一些公用的代码放在一个文件里--以API接口的形式在其他地方调用,有利于代码的重用及降低代码耦合度--lua模块是由变量、函数等元素组成的table,实质上就是一个table--以下是创建一个模块的样例:mod = {}--创建了一个空的tablemod.name = "易勇"--加入常量name到模块中mod.age = 30--加入常量age到模块中mod.study = "I study lua"--加入常量study到模块中function mod.fun1()--加入函数到模块中 必须要以"模块名.函数名"的形式加入函数,否则函数不在模块内print("this is 第一个模块")endlocal function fun2()--此函数是局部函数,不在模块内,外部不能引用print("local 表示局部的,这是一个局部函数")endfunction mod.fun3()io.write("this is fun3,\n")fun2()--这里可以引用局部函数endreturn mod

--Lua提供了一个名为require的函数用来加载模块:以下两种方式均可--require("模块名")--require "模块名"require("test2")--这里test2是模块文件的文件名,且文件要放到require函数能加载的目录下print(mod.name)--这里的mod则是test2文件中所返回的模块名称(table的名称)m = require("test2")--也可以为模块取一个别名,别名还可以用local修饰。这里的m就相当于modm.fun1()--通过 m. 或者 mod. 就可以引用模块中声明好的常量或函数mod.fun3()


原创粉丝点击