鍍金池/ 教程/ Java/ 標準庫
數據庫訪問
循環(huán)
數組
錯誤處理
面向對象
調試
游戲開發(fā)
文件 I/O
變量
迭代器
Web 編程
模塊
函數
元表
協程
垃圾回收機制
標準庫
決策
數據類型
運行環(huán)境
操作符
字符串
基本語法
概述

標準庫

Lua 標準庫利用 C 語言 API 實現并提供了豐富的函數,它們內置于 Lua 語言中。該標準庫不僅可以提供 Lua 語言內服務,還能提供外部服務,比如文件或數據庫的操作。

這些標準庫使用標準的 C API 接口實現,它們作為獨立的 C 語言模塊提供給使用者。主要包括以下的內容:

  • 基本庫,包括協程子庫
  • 模塊庫
  • 字符串操作
  • 表操作
  • 數學計算庫
  • 文件輸入與輸出
  • 操作系統(tǒng)工具庫
  • 調試工具庫

基本庫

在本教程中,我們已經在很多地方都使用了基本庫的內容。下面的表中列出了相關的函數與鏈接。

S.N. 庫或者方法
1 錯誤處理庫,包括錯誤處理函數,比如 assert,error等,詳見錯誤處理。
2 內存管理,包括與垃圾回收相關的自動內存管理的內容,詳見垃圾回收。
3 dofile([filename]),打開指定文件,并將文件內容作為代碼執(zhí)行。如果沒有傳入參數,則函數執(zhí)行標準輸入的內容。錯誤會傳遞至函數調用者。
4 _G,全局變量,它存儲全局的環(huán)境。Lua 本身不使用此變量。
5 getfenv([f]),返回指定函數使用的當前環(huán)境(作用域),可以通過函數名或棧深度值指定函數。 1 表示調用 getfenv 的函數。如果傳入的參數不是函數或者 f 為 0,則返回全局環(huán)境。f 的默認值為 1。
6 getmetatable(object):如果對象沒有元表,則返回 nil。如果對象的元表有 __metable 域,則返回該值;否則返回對象的元表。
7 ipairs(t),用于遍歷表,此函數返回三個值:next 函數,表 t, 以及 0。
8 load(func[,chunkname]),使用函數 func 加載一個塊(代碼塊),每次調用func必須返回與先前的結果連接后的字符串
9 loadfile([filename]),與 load 函數相似,此函數從文件中或標準輸入(沒指定文件名時)讀入代碼塊。
10 loadstring(string,[,chunkname]),與 load 類似,從指定字符串中獲得代碼塊。
11 next(table[,index]),此函數用于遍歷表結構。第一參數為表,第二個參數是一個索引值。返回值為指定索引的下一個索引與相關的值。
12 pairs(t),用于遍歷表,此函數返回三個值:next 函數,表 t, 以及 nil。
13 print(...),打印輸出傳入參數。
14 rawequal(v1,v2),判斷 v1 與 v2 是否相等,不會調用任何元方法。返回布爾值。
15 rawget(table,index),返回 table[index],不會調用元方法。table 必須是表,索引可以是任何值。
16 rawset(table,index,value),等價于 table[index] = value,但是不會調用元方法。函數返回表。
17 select(index,...),如果 index 為數字n,那么 select 返回它的第 n 個可變實參,否則只能為字符串 "#",這樣select會返回變長參數的總數。
18 setfenv(f,table),設置指定函數的作用域??梢酝ㄟ^函數名或棧深度值指定函數。 1 表示調用 setfenv 的函數。返回值為指定函數。特別地,如果 f 為 0,則改變當前線程的運行環(huán)境,這時候函數無返回值。
19 setmetatable(table,metatable),設置指定表的元表(不能從 Lua 中改變其它類型的元表,其它類型的元表只能從 C 語言中修改)。如果 metatable 為 nil,則刪除表的元表;如果原來的元表有 __metatable 域,則出錯。函數返回 table。
20 tonumber(e[,base]),將參數轉換為數值。如果參數本身已經是數值或者是可以轉換為數值的字符串,則 tonumber 返回數值,否則返回 nil。
21 tostring(e),將傳遞的實參以合理的格式轉換為字符串。精確控制字符串的轉換可以使用 string.format 函數。
22 type(v),以字符串的形式返回輸入參數的類型。該函數的返回值可以取字符串:nil,number,string,boolean,table,function,thread,userdata。
23 unpack(list[,i[,j]]),從指定的表中返回元素。
24 _VERSION,存儲當前解釋器版本信息的全局變量。該變量當前存儲的內容為:Lua 5.1。(譯注:與解釋器版本有關)
25 協程庫,包括協程相關的函數,詳見協程

模塊庫

模塊庫提供了加載模塊的基本函數。它在全局作用域內提供了 require 函數。其它的函數都是通過包管理的模塊庫提供的。詳細內容請參見模塊。

字符串操作庫

詳細內容請參見字符串。

表操作庫

詳細內容請參見。

數學函數庫

詳細內容請參見數學函數庫

文件 IO 庫

詳細內容請參見文件 IO。

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

詳細內容請參見操作系統(tǒng)工具庫

調試工具庫

詳細內容請參見調試。

上一篇:概述下一篇:變量