Lua標準庫
阿新 • • 發佈:2018-12-21
轉載:https://www.yiibai.com/lua/lua_standard_libraries.html
Lua標準庫提供了一組豐富的函式,這些函式直接使用C語言API實現,並使用Lua程式語言構建。這些庫提供Lua程式語言中的服務以及檔案和資料庫操作之外的服務。
這些在官方C語言API中構建的標準庫作為單獨的C模組提供。它包括以下內容 -
- 基本庫,包括協程子庫
- 模組庫
- 字串操作
- 表操作
- 數學庫
- 檔案輸入和輸出
- 作業系統設施
- 除錯工具
我們在整個教程中使用了各種主題下的基本庫。 下表提供了相關頁面的連結,並列出了本Lua教程各部分所涵蓋的功能。
編號 | 庫/方法 | 作用 |
---|---|---|
1 | 錯誤處理 | 包括錯誤處理函式,如斷言, 錯誤,如Lua錯誤處理中所述。 |
2 | 記憶體管理 | 包括與垃圾收集相關的自動記憶體管理功能, 如Lua垃圾收集中所述。 |
3 | dofile ([filename]) |
它開啟檔案並以塊的形式執行檔案的內容。 |
4 | _G |
因此是儲存全域性環境的全域性變數(即_G._G = _G )。 |
5 | getfenv ([f]) |
返回函式使用的當前環境。 |
6 | getmetatable (object) |
如果object 沒有metatable , 則返回nil 。 否則,如果object 的metatable 具有__metatable 欄位, |
7 | ipairs (t) |
此函式獲取表的索引和值。 |
8 | load (func [, chunkname]) |
使用函式func 載入一個塊來獲取它的碎片。 |
9 | loadfile ([filename])) |
與load 類似,但是如果沒有給出檔名,則從檔案filename 或標準輸入中獲取塊。 |
10 | loadstring (string [, chunkname]) |
與load 函式類似,但從給定的字串中獲取塊。 |
11 | next (table [, index]) |
允許程式遍歷表的所有欄位。 |
12 | pairs (t) |
暫停正在執行的協同程式。 |
13 | print (...) |
列印給定的引數值。 |
14 | rawequal (v1, v2) |
檢查v1 是否等於v2 ,而不呼叫任何無方法。 返回一個布林值。 |
15 | rawget (table, index) |
獲取table [index] 的值, 而不呼叫任何方法。table 必須是表; index 可以是任何值。 |
16 | rawset (table, index, value) |
將table [index] 的值設定為value ,而不呼叫任何方法。 |
17 | select (index, ...) |
如果index 是數字,則返回引數編號索引後的所有引數。 |
18 | setfenv (f, table) |
設定給定函式使用的環境。 |
19 | setmetatable (table, metatable) |
設定給定表的元表。 |
20 | tonumber (e [, base]) |
嘗試將引數轉換為數字。 |
21 | tostring (e) |
接收任何型別的引數並將其轉換為合理格式的字串。 |
22 | type (v) |
返回唯一引數的型別,編碼為字串。 |
23 | unpack (list [, i [, j]]) |
返回給定表中的元素。 |
24 | _VERSION |
包含當前直譯器版本的字串的全域性變數(不是函式)。 |
25 | 協同程式 | 包括Lua協同程式中解釋的協程操作功能。 |
模組庫提供了在Lua中載入模組的基本功能。 它直接在全域性環境中匯出一個函式:require
。 其他所有內容都在表包中匯出。 有關模組庫的詳細資訊,請參見前面的Lua模組教程。
Lua提供了豐富的字串操作功能。 前面的Lua字串教程詳細中介紹了這一點。
Lua幾乎在其所有操作中都依賴於表。 前面的Lua表教程詳中細介紹了這一點。
經常需要程式設計中的資料儲存工具,這是由Lua中的檔案I/O的標準庫函式提供的。 它在前面的Lua 檔案操作教程中討論過。
Lua提供了一個除錯庫,它提供了建立自己的偵錯程式的所有原始函式。 在前面的Lua除錯教程中討論過了。
易百教程移動端:請掃描本頁面底部(右側)二維碼並關注微信公眾號,回覆:"教程" 選擇相關教程閱讀或直接訪問:http://m.yiibai.com 。