鍍金池/ 教程/ C/ Lua標(biāo)準(zhǔn)庫
Lua邏輯運(yùn)算符
Lua其他運(yùn)算符
Lua協(xié)同程序
Lua break語句
Lua運(yùn)算符
Lua面向?qū)ο?/span>
Lua教程
Lua函數(shù)
Lua數(shù)據(jù)庫/MySQL操作
Lua關(guān)系運(yùn)算符
Lua錯(cuò)誤處理
Lua數(shù)據(jù)類型
Lua嵌套循環(huán)
Lua變量
Lua基本語法
Lua字符串
Lua for循環(huán)
Lua if語句嵌套
Lua運(yùn)算符優(yōu)先級
Lua Web編程
Lua while循環(huán)
Lua開發(fā)環(huán)境
Lua if...else語句
Lua標(biāo)準(zhǔn)庫
Lua游戲編程
Lua if語句
Lua算術(shù)運(yùn)算符
Lua表格
Lua決策
Lua文件I/O
Lua循環(huán)
Lua數(shù)組
Lua元表
Lua repeat...until循環(huán)
Lua迭代器
Lua調(diào)試
Lua模塊
Lua垃圾收集

Lua標(biāo)準(zhǔn)庫

Lua的標(biāo)準(zhǔn)庫提供了一組豐富的功能,與C的API直接實(shí)現(xiàn),建立在Lua編程語言函數(shù)。Lua編程語言中這些庫提供服務(wù),還提供外部服務(wù),如文件和數(shù)據(jù)庫操作。

建于官方的C的API,這些標(biāo)準(zhǔn)庫是作為單獨(dú)的C模塊。這包括:

  • 基本庫,其中包括協(xié)程分庫

  • 模塊庫

  • 字符串操作

  • 表操作

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

  • 文件輸入和輸出

  • 操作系統(tǒng)工具

  • 調(diào)試設(shè)備

基本庫

我們使用的基本庫根據(jù)遍及不同主題的教程。下表提供了所有相關(guān)的網(wǎng)頁鏈接,并列出了將在本教程Lua的各個(gè)組成部分的函數(shù)

S.N. 庫/方法及用途
1. Error Handling
包括錯(cuò)誤處理功能,如斷言,誤差 - 錯(cuò)誤處理。
2. Memory Management
I包括與垃圾回收Lua中所解釋的自動內(nèi)存管理功能
3. dofile ([filename])
它打開該文件并執(zhí)行該文件作為一個(gè)塊的內(nèi)容。如果不帶參數(shù)傳遞,那么這個(gè)函數(shù)執(zhí)行標(biāo)準(zhǔn)輸入的內(nèi)容。這些錯(cuò)誤將傳播給調(diào)用者。
4. _G 
因而是保持全局環(huán)境全局變量(即,_G._G=_G)。 LUA本身并不使用這個(gè)變量。
5. getfenv ([f])
返回當(dāng)前的環(huán)境中使用的功能。 f能夠是一個(gè)Lua函數(shù)或數(shù)字,指定在該協(xié)議棧級別的函數(shù):1級是函數(shù)調(diào)用getfenv。如果給定的功能是不是一個(gè)Lua函數(shù),或者如果f是0,getfenv返回全局環(huán)境。默認(rèn)為f為1。
6. getmetatable (object)
如果對象沒有元表,返回nil。否則,如果對象的元表具有“__metatable”字段,返回相關(guān)值。否則,返回給定對象的元表。
7. ipairs (t)
此函數(shù)讀取表的索引和值。
8. load (func [, chunkname])
使用加載函數(shù)func獲取其部分組塊。每次調(diào)用func必須返回與先前的結(jié)果連接字符串。
9. loadfile ([filename]))
類似于加載,但是從文件的文件名或從標(biāo)準(zhǔn)輸入得到的塊,如果沒有給出文件名。
10. loadstring (string [, chunkname])
類似于加載,但是從給定的字符串得到的組塊。
11. next (table [, index])
允許程序遍歷表的所有字段。它的第一個(gè)參數(shù)是一個(gè)表,它的第二個(gè)參數(shù)是該表的索引。接下來返回表及其關(guān)聯(lián)值的一個(gè)索引。
12. pairs (t)
暫停運(yùn)行的協(xié)程。傳遞給該方法的參數(shù)作為附加的返回值以恢復(fù)功能。
13. print (...)
暫停運(yùn)行的協(xié)程。傳遞給該方法的參數(shù)作為附加的返回值以恢復(fù)功能。
14. rawequal (v1, v2)
檢查V1是否等于V2,沒有調(diào)用任何元方法。返回一個(gè)布爾值。
15. rawget (table, index)
獲取表[索引]的真正值,而不調(diào)用任何元方法。表必須是表;索引可以是任何值。
16. rawset (table, index, value)
設(shè)置表[索引]值,真正的值沒有調(diào)用任何元方法。表必須是一個(gè)表,索引從不同的無任何值,Lua的任何值。這個(gè)函數(shù)返回表。
17. select (index, ...)
如果索引是一個(gè)數(shù)字,返回后的參數(shù)數(shù)量索引的所有參數(shù)。否則,索引必須是字符串“#”,然后選擇返回到額外參數(shù)總數(shù)。
18. setfenv (f, table)
設(shè)置要使用的特定函數(shù)的環(huán)境。f 是一個(gè)Lua函數(shù)或數(shù)字,指定在該協(xié)議棧級別的函數(shù):1級是函數(shù)調(diào)用setfenv。 setfenv返回給定的功能。作為一種特殊情況,當(dāng)f是0 setfenv改變正在運(yùn)行的線程的環(huán)境。在這種情況下,setfenv不返回任何值。
19. setmetatable (table, metatable)
設(shè)置元表對給定表。 (不能從Lua中改變其它類型的元表,只能從C)若元表為零,消除了給定表的元表。如果原來的metatable有一個(gè)“__metatable”字段,將引發(fā)錯(cuò)誤。這個(gè)函數(shù)返回表。
20. tonumber (e [, base])
嘗試將它的參數(shù)轉(zhuǎn)換為數(shù)字。如果參數(shù)已經(jīng)是一個(gè)數(shù)字或一個(gè)字符串轉(zhuǎn)換為一個(gè)數(shù)字,然后tonumber返回這個(gè)數(shù);否則,返回nil。
21. tostring (e)
接收到任何類型的參數(shù),并將其轉(zhuǎn)換為一個(gè)字符串,一個(gè)合理的格式。有關(guān)如何數(shù)轉(zhuǎn)換完全控制,使用String.Format。
22. type (v)
返回其唯一參數(shù)的類型,編碼為一個(gè)字符串。這個(gè)函數(shù)的可能結(jié)果是“nil”(字符串,而不是值為零),“數(shù)字”,“串”,“布爾”,“表”,“功能”,“線”和“用戶數(shù)據(jù)”。
23. unpack (list [, i [, j]])
返回從給定表中的元素。
24. _VERSION
全局變量(不是函數(shù))保存包含當(dāng)前翻譯版本的字符串。這個(gè)變量的當(dāng)前內(nèi)容是“Lua5.1”。
25. Coroutines
包括協(xié)程操作功能

模塊庫

這些模塊庫提供了在Lua基本的功能模塊加載。它直接在全局環(huán)境中導(dǎo)出一個(gè)函數(shù):require。導(dǎo)出表中一切的包。有關(guān)模塊庫的細(xì)節(jié)在前面的章節(jié)中解釋

字符串操作

Lua中提供了一組豐富的字符串處理函數(shù)。Lua - 字符串教程介紹這個(gè)細(xì)節(jié)。

表操作

Lua依賴表中的操作幾乎每一個(gè)比特位。較早的Lua- 表教程介紹這個(gè)細(xì)節(jié)。

數(shù)學(xué)庫

在任何編程語言,數(shù)學(xué)函數(shù),通常需要做各種科學(xué)和工程計(jì)算。

文件輸入和輸出

我們經(jīng)常需要數(shù)據(jù)存儲設(shè)備的編程,這是Lua中提供標(biāo)準(zhǔn)庫函數(shù)對文件I/O的。在早期的Lua文件I/O教程有討論。

操作系統(tǒng)工具

有時(shí),可能需要我們訪問操作系統(tǒng)功能。這些函數(shù)在Lua解釋 - 操作系統(tǒng)工具教程。

調(diào)試設(shè)備

Lua中提供了一個(gè)調(diào)試庫,它提供了所有的基本函數(shù),我們用來創(chuàng)造自己的調(diào)試器。