Lua的自我学习之路-语法学习8

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/asdfghj253/article/details/80475118

要点:模块

建立一个table

创建一个名为 module.lua 的文件
module={} --和文件名可以不一致

module.var="sdl"

module.func1=function()
    print("这是模块module的函数")
end

function module.func2()
    print("模块方法可以放在外面")
end

local function fun3()
   print("这个是局部函数")
end

function func4()
    print("全局模块方法可以放在外面")
end
return module;

模块调用


-- require "模块名"   引用模块(文件的名字)
-- require (“模块名”)   这样引用也行

require "module" --直接接受
--这样可以不全部引用,只在需要时使用m来引用
m=require("module")  --这样可以需要用的时候调用

print(module.var)
module.func1()
--module.func3()  无法使用局部函数
func4();

require加载机制

对于自定义的模块,模块文件不是放在哪个文件目录都行,函数 require 有它自己的文件路径加载策略,它会尝试从 Lua 文件或 C 程序库中加载模块。

require 用于搜索 Lua 文件的路径是存放在全局变量 package.path 中,当 Lua 启动后,会以环境变量 LUA_PATH 的值来初始这个环境变量。如果没有找到该环境变量,则使用一个编译时定义的默认路径来初始化。

猜你喜欢

转载自blog.csdn.net/asdfghj253/article/details/80475118