首页 > 其他 > 详细

lua 模块与包

时间:2020-07-15 16:15:58      阅读:45      评论:0      收藏:0      [点我收藏+]

Lua 的模块是由变量、函数等已知元素组成的 table

-- 文件名为 module.lua
-- 定义一个名为 module 的模块
module = {}
 
-- 定义一个常量
module.constant = "这是一个常量"
 
-- 定义一个函数
function module.func1()
    io.write("这是一个公有函数!\n")
end
 
local function func2()
    print("这是一个私有函数!")
end
 
function module.func3()
    func2()
end
 
return module

 

require 函数

Lua提供了一个名为require的函数用来加载模块

require("<模块名>")

或者

require "<模块名>"


-- test_module.lua 文件
-- module 模块为上文提到到 module.lua
require("module")
 
print(module.constant)
 
module.func3()

加载机制

  require 用于搜索 Lua 文件的路径是存放在全局变量 package.path 中,当 Lua 启动后,会以环境变量 LUA_PATH 的值来初始这个环境变量。

 

C 包

  与Lua中写包不同,C包在使用以前必须首先加载并连接。Lua在一个叫loadlib的函数内提供了所有的动态连接的功能

  local path = "/usr/local/lua/lib/libluasocket.so"
  -- 或者 path = "C:\\windows\\luasocket.dll",这是 Window 平台下
  local f = assert(loadlib(path, "luaopen_socket"))
  f()  -- 真正打开库

 

lua 模块与包

原文:https://www.cnblogs.com/guomengkai/p/13305152.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!