- Lua 教程
- Lua - 首頁
- Lua 基礎
- Lua - 概述
- Lua - 環境
- Lua - 基本語法
- Lua - 註釋
- Lua - 列印 Hello World
- Lua - 變數
- Lua - 資料型別
- Lua - 運算子
- Lua - 迴圈
- Lua - 決策
- Lua - 函式
- Lua - 日期和時間
- Lua 陣列
- Lua - 陣列
- Lua - 多維陣列
- Lua - 陣列長度
- Lua - 遍歷陣列
- Lua 迭代器
- Lua - 迭代器
- Lua 列表
- Lua - 在列表中搜索
- Lua 模組
- Lua - 模組
- Lua - 名稱空間
- Lua 元表格
- Lua - 元表格
- Lua 協程
- Lua - 協程
- Lua 檔案處理
- Lua - 檔案 I/O
- Lua 庫
- Lua - 標準庫
- Lua - 數學庫
- Lua - 作業系統功能
- Lua 有用資源
- Lua - 快速指南
- Lua - 有用資源
- Lua - 討論
Lua - 標準庫
Lua 標準庫提供了一套豐富的函式,這些函式是使用 C API 直接實現的,並且是 Lua 程式語言內建的。這些庫在 Lua 程式語言內部以及外部提供服務,例如檔案和資料庫操作。
這些在官方 C API 中內建的標準庫作為單獨的 C 模組提供。它包括以下內容:
- 基本庫,包括協程子庫
- 模組庫
- 字串操作
- 表格操作
- 數學庫
- 檔案輸入和輸出
- 作業系統功能
- 除錯功能
基本庫
我們在本教程的各個主題中都使用了基本庫。下表提供了相關頁面的連結,並列出了在本 Lua 教程的各個部分中介紹的函式。
| 序號 | 庫/方法及用途 |
|---|---|
| 1 | 錯誤處理 包括錯誤處理函式,如 assert、error,如 Lua - 錯誤處理 中所述。 |
| 2 | 記憶體管理 包括與垃圾回收相關的自動記憶體管理函式,如 Lua - 垃圾回收 中所述。 |
| 3 | dofile ([檔名]) 它開啟檔案並執行檔案內容作為程式碼塊。如果未傳遞引數,則此函式執行標準輸入的內容。錯誤將傳播到呼叫方。 |
| 4 | _G 這是儲存全域性環境的全域性變數(即,_G._G = _G)。Lua 本身不使用此變數。 |
| 5 | getfenv ([f]) 返回函式正在使用的當前環境。f 可以是 Lua 函式,也可以是指定該函式在堆疊中位置的數字 - 級別 1 是呼叫 getfenv 的函式。如果給定的函式不是 Lua 函式,或者如果 f 為 0,則 getfenv 返回全域性環境。f 的預設值為 1。 |
| 6 | getmetatable (物件) 如果物件沒有元表格,則返回 nil。否則,如果物件的元表格具有 "__metatable" 欄位,則返回關聯的值。否則,返回給定物件的元表格。 |
| 7 | ipairs (t) 此函式獲取表格的索引和值。 |
| 8 | load (func [, 程式碼塊名稱]) 使用函式 func 載入程式碼塊以獲取其片段。對 func 的每次呼叫都必須返回一個與先前結果連線的字串。 |
| 9 | loadfile ([檔名])) 類似於 load,但從檔案 filename 或標準輸入獲取程式碼塊,如果未給出檔名。 |
| 10 | loadstring (字串 [, 程式碼塊名稱]) 類似於 load,但從給定的字串獲取程式碼塊。 |
| 11 | next (表格 [, 索引]) 允許程式遍歷表格的所有欄位。它的第一個引數是表格,第二個引數是該表格中的索引。next 返回表格的下一個索引及其關聯的值。 |
| 12 | pairs (t) 掛起正在執行的協程。傳遞給此方法的引數充當 resume 函式的其他返回值。 |
| 13 | print (...) 掛起正在執行的協程。傳遞給此方法的引數充當 resume 函式的其他返回值。 |
| 14 | rawequal (v1, v2) 檢查 v1 是否等於 v2,不呼叫任何元方法。返回布林值。 |
| 15 | rawget (表格, 索引) 獲取表格[索引]的真實值,不呼叫任何元方法。表格必須是表格;索引可以是任何值。 |
| 16 | rawset (表格, 索引, 值) 將表格[索引]的真實值設定為值,不呼叫任何元方法。表格必須是表格,索引為除 nil 之外的任何值,值可以是任何 Lua 值。此函式返回表格。 |
| 17 | select (索引, ...) 如果索引是數字,則返回引數編號索引之後的全部引數。否則,索引必須是字串 "#",select 返回它接收到的額外引數的總數。 |
| 18 | setfenv (f, 表格) 設定要由給定函式使用的環境。f 可以是 Lua 函式,也可以是指定該函式在堆疊中位置的數字 - 級別 1 是呼叫 setfenv 的函式。setfenv 返回給定的函式。作為特例,當 f 為 0 時,setfenv 更改正在執行的執行緒的環境。在這種情況下,setfenv 不返回值。 |
| 19 | setmetatable (表格, 元表格) 設定給定表格的元表格。(您不能從 Lua 更改其他型別的元表格,只能從 C 更改。)如果元表格為 nil,則刪除給定表格的元表格。如果原始元表格具有 "__metatable" 欄位,則引發錯誤。此函式返回表格。 |
| 20 | tonumber (e [, 基數]) 嘗試將其引數轉換為數字。如果引數已經是數字或可轉換為數字的字串,則 tonumber 返回此數字;否則,它返回 nil。 |
| 21 | tostring (e) 接收任何型別的引數並將其轉換為合理格式的字串。要完全控制數字的轉換方式,請使用 string.format。 |
| 22 | type (v) 返回其唯一引數的型別,編碼為字串。此函式的可能結果是“nil”(字串,而不是值 nil)、“number”、“string”、“boolean”、“table”、“function”、“thread”和“userdata”。 |
| 23 | unpack (列表 [, i [, j]]) 返回給定表格中的元素。 |
| 24 | _VERSION 一個全域性變數(不是函式),它儲存一個包含當前直譯器版本的字串。此變數的當前內容為“Lua 5.1”。 |
| 25 | 協程 包括協程操作函式,如 Lua - 協程 中所述。 |
模組庫
模組庫提供了在 Lua 中載入模組的基本函式。它在全域性環境中直接匯出一個函式:require。其他所有內容都匯出到表格 package 中。關於模組庫的詳細資訊在前面的章節 Lua - 模組 教程中進行了說明。
字串操作
Lua 提供了一套豐富的字串操作函式。前面的 Lua - 字串 教程詳細介紹了這一點。
表格操作
Lua 在其幾乎所有操作中都依賴於表格。前面的 Lua - 表格 教程詳細介紹了這一點。
檔案輸入和輸出
在程式設計中,我們經常需要資料儲存功能,這由 Lua 中用於檔案 I/O 的標準庫函式提供。這在前面的 Lua - 檔案 I/O 教程中進行了討論。
除錯功能
Lua 提供了一個除錯庫,該庫為我們提供了建立自己的偵錯程式的所有基本函式。這在前面的 Lua - 除錯 教程中進行了討論。