自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Lua標(biāo)準(zhǔn)庫-模塊(Modules)

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

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

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())

原文鏈接:http://tech.it168.com/j/2008-02-17/200802171009779.shtml

責(zé)任編輯:陳四芳 來源: 來自ITPUB論壇
相關(guān)推薦

2013-12-12 16:59:15

Lua表處理

2013-12-12 17:03:57

Lua腳本語言

2013-12-12 17:27:51

Lua協(xié)同

2013-12-03 17:32:05

Lua腳本語言

2013-12-12 17:08:24

Lua字符串

2013-12-12 17:21:46

Lua出入輸出

2023-03-01 07:21:33

2011-08-29 15:53:04

Lua位運(yùn)算

2023-03-03 10:26:49

Python內(nèi)建庫模塊

2013-09-10 09:54:50

2015-03-10 18:13:08

2025-01-13 00:00:35

2012-07-30 09:40:52

Lua

2011-08-23 16:37:05

Lua數(shù)學(xué)庫

2023-04-02 23:13:07

Go語言bufio

2010-02-03 11:26:28

2011-08-31 17:35:18

Lua解釋器Script.NET

2021-06-10 18:40:32

ES 標(biāo)準(zhǔn)模塊化

2011-08-23 15:02:59

LuaTable

2011-09-06 17:12:25

Lua腳本C++封裝庫
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)