日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Lua標(biāo)準(zhǔn)庫-模塊(Modules)

包庫為Lua提供簡易的加載及創(chuàng)建模塊的方法,由require、module方法及package表組成

創(chuàng)新互聯(lián)專注于陸良企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,商城建設(shè)。陸良網(wǎng)站建設(shè)公司,為陸良等地區(qū)提供建站服務(wù)。全流程專業(yè)公司,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)

1、module (name [, ···])

功能:建立一個(gè)模塊。

當(dāng)package.loaded[name]中存在時(shí),當(dāng)中的表作為module;

當(dāng)在全局表中存在name指定的表時(shí),此表作為module;

當(dāng)以前兩種情況都不存表name時(shí),將新建一個(gè)表,并使其作為全局名name的值,并package.loaded[name],而且設(shè) t._NAME為name,t._M為module,t._PACKAGE為包的全名(模塊名-組件a.b.c);最后把此module設(shè)t作為當(dāng)前函數(shù) 的新環(huán)境表和package.loaded[name]的新值(也就是說,舊的環(huán)境表將不能訪問,除了加上package.seeall參數(shù)外),以被 require使用

module(name)后的可選參數(shù)為接收module名的函數(shù),如package.seeall

2、require (modname)

功能:加載指定的模塊。

此函數(shù)先檢測(cè)package.loaded表中是否存在modname,存在則直接返回當(dāng)中的值,沒有則通過郰定義的加載器加載modname。

查找加載器順序:

(1)檢測(cè)package.preload表是否存在modname,有則加載

(2)通過Lua Loader加載,通過查找存放于package.path的路徑加載,有則加載

(3)通過C Loader加載,通過查找存放于package.cpath的路徑加載,有則加載

(4)通過all-in-one Loader加載:

通過查找modname.dll并查找當(dāng)中的luaopen_

其中XXXX為載塊名-后的字符用_替換.后的字符:如:a.v1-b.c 當(dāng)函數(shù)名為luaopen_b_c

當(dāng)require查找的不是一個(gè)Lua庫或C庫,它就會(huì)調(diào)用all-in-one loader,此加載器是用C路徑作為載塊的目錄,

當(dāng)查找到合適的加載器時(shí),require就會(huì)加載其中的模塊,當(dāng)加載器有返回值,將會(huì)存放于package.loaded[modname]表。最后返回package.loaded[modname]表

當(dāng)加載失敗時(shí),require將觸發(fā)錯(cuò)誤

3、package.cpath

功能:用于require C loader的搜索路徑

可以通過修改LUA_CPATH變量(luaconf.h)修改此值

4、package.loaded

功能:一個(gè)用于讓require知道哪些模塊已加載的記錄表,如果package.loaded已經(jīng)有require要的值,則直接返回此值

5、package.loadlib (libname, funcname)

功能:通過動(dòng)態(tài)連接C函數(shù)庫方式加載Lua擴(kuò)展庫

libname為庫文件名,funcname為入口函數(shù)(此函數(shù)必須為純C接口函數(shù) c++則需用 extern "C" {} 進(jìn)行限制)

6、package.path

功能:用于require Lua loader的搜索路徑

可以通過修改LUA_PATH變量(luaconf.h)修改此值

7、package.preload

功能:一個(gè)用于保存特殊模塊加載器的表

8、package.seeall(module)

功能:為module設(shè)置一個(gè)元表,此元表的__index字段的值為全局環(huán)境_G。所以module可以訪問全局環(huán)境

注:以此函數(shù)作為module()的一個(gè)選項(xiàng)(詳細(xì)見module())


分享文章:Lua標(biāo)準(zhǔn)庫-模塊(Modules)
URL網(wǎng)址:http://www.dlmjj.cn/article/ccsjgsi.html