update
This commit is contained in:
@@ -0,0 +1,868 @@
|
||||
---@diagnostic disable: undefined-global, lowercase-global
|
||||
|
||||
arg =
|
||||
'獨立版Lua的啟動引數。'
|
||||
|
||||
assert =
|
||||
'如果其引數 `v` 的值為假( `nil` 或 `false` ),它就擲回 $error ;否則,回傳所有的引數。在發生錯誤時, `message` 是錯誤物件;如果不提供這個引數,預設為 `"assertion failed!"` 。'
|
||||
|
||||
collectgarbage51 =
|
||||
[[
|
||||
此函式是垃圾回收器的通用介面。根據其第一個引數 opt 執行不同的功能:
|
||||
|
||||
* `"collect"`:執行一個完整的垃圾回收週期。這是預設選項。
|
||||
* `"stop"`:停止垃圾回收器。
|
||||
* `"restart"`:重新啟動垃圾回收器。
|
||||
* `"count"`:回傳 Lua 使用的總記憶體數(以 K 位元組為單位)。
|
||||
* `"step"`:執行一次垃圾回收步驟。步驟的「大小」由 arg 控制(較大的值表示更多步驟),具體方式未指定。如果要控制步驟大小,必須透過實驗調整 arg 的值。如果步驟完成了一個回收週期則回傳 true。
|
||||
* `"setpause"`:將 arg 設定為回收器間歇率的新值(參見 §2.10)。回傳間歇率的先前值。
|
||||
* `"setstepmul"`:將 arg 設定為回收器步進倍率的新值(參見 §2.10)。回傳步進倍率的先前值。
|
||||
]]
|
||||
|
||||
collectgarbage52 =
|
||||
[[
|
||||
此函式是垃圾回收器的通用介面。根據其第一個引數 opt 執行不同的功能:
|
||||
|
||||
* `"collect"`:執行一個完整的垃圾回收週期。這是預設選項。
|
||||
* `"stop"`:停止垃圾回收器的自動執行。回收器將僅在顯式呼叫時執行,直到呼叫重新啟動它。
|
||||
* `"restart"`:重新啟動垃圾回收器的自動執行。
|
||||
* `"count"`:回傳 Lua 使用的總記憶體數(以 K 位元組為單位)和第二個值,表示總記憶體位元組數模 1024。第一個值有小數部分,因此以下等式始終為真:
|
||||
```lua
|
||||
k, b = collectgarbage("count")
|
||||
assert(k*1024 == math.floor(k)*1024 + b)
|
||||
```
|
||||
(當 Lua 使用非浮點型別編譯數字時,第二個結果很有用。)
|
||||
* `"step"`:執行一次垃圾回收步驟。步驟的「大小」由 arg 控制(較大的值表示更多步驟),具體方式未指定。如果要控制步驟大小,必須透過實驗調整 arg 的值。如果步驟完成了一個回收週期則回傳 true。
|
||||
* `"setpause"`:將 arg 設定為回收器間歇率的新值(參見 §2.5)。回傳間歇率的先前值。
|
||||
* `"setstepmul"`:將 arg 設定為回收器步進倍率的新值(參見 §2.5)。回傳步進倍率的先前值。
|
||||
* `"isrunning"`:回傳一個布林值,指示回收器是否正在執行(即未停止)。
|
||||
* `"generational"`:將回收器變更為分代模式。這是一個實驗性功能(參見 §2.5)。
|
||||
* `"incremental"`:將回收器變更為增量模式。這是預設模式。
|
||||
]]
|
||||
|
||||
collectgarbage53 =
|
||||
[[
|
||||
此函式是垃圾回收器的通用介面。根據其第一個引數 opt 執行不同的功能:
|
||||
|
||||
* `"collect"`:執行一個完整的垃圾回收週期。這是預設選項。
|
||||
* `"stop"`:停止垃圾回收器的自動執行。回收器將僅在顯式呼叫時執行,直到呼叫重新啟動它。
|
||||
* `"restart"`:重新啟動垃圾回收器的自動執行。
|
||||
* `"count"`:回傳 Lua 使用的總記憶體數(以 K 位元組為單位)。該值有小數部分,因此乘以 1024 即可得到 Lua 使用的精確位元組數(除溢位外)。
|
||||
* `"step"`:執行一次垃圾回收步驟。步驟的「大小」由 arg 控制。值為零時,回收器將執行一個基本(不可分割的)步驟。對於非零值,回收器的行為就像 Lua 分配了相應數量的記憶體(以 K 位元組為單位)。如果步驟完成了一個回收週期則回傳 true。
|
||||
* `"setpause"`:將 arg 設定為回收器間歇率的新值(參見 §2.5)。回傳間歇率的先前值。
|
||||
* `"setstepmul"`:將 arg 設定為回收器步進倍率的新值(參見 §2.5)。回傳步進倍率的先前值。
|
||||
* "isrunning"`:回傳一個布林值,指示回收器是否正在執行(即未停止)。
|
||||
]]
|
||||
|
||||
collectgarbage54 =
|
||||
[[
|
||||
此函式是垃圾回收器的通用介面。根據其第一個引數 opt 執行不同的功能:
|
||||
|
||||
* `"collect"`:執行一個完整的垃圾回收週期。這是預設選項。
|
||||
* `"stop"`:停止垃圾回收器的自動執行。回收器將僅在顯式呼叫時執行,直到呼叫重新啟動它。
|
||||
* `"restart"`:重新啟動垃圾回收器的自動執行。
|
||||
* `"count"`:回傳 Lua 使用的總記憶體數(以 K 位元組為單位)。該值有小數部分,因此乘以 1024 即可得到 Lua 使用的精確位元組數。
|
||||
* `"step"`:執行一次垃圾回收步驟。步驟的「大小」由 arg 控制。值為零時,回收器將執行一個基本(不可分割的)步驟。對於非零值,回收器的行為就像 Lua 分配了相應數量的記憶體(以 K 位元組為單位)。如果步驟完成了一個回收週期則回傳 true。
|
||||
* `"isrunning"`:回傳一個布林值,指示回收器是否正在執行(即未停止)。
|
||||
* `"incremental"`:將回收器模式變更為增量模式。此選項後可以接三個數字:垃圾回收器間歇率、步進倍率和步進大小(參見 §2.5.1)。零表示不變更該值。
|
||||
* `"generational"`:將回收器模式變更為分代模式。此選項後可以接兩個數字:垃圾回收器次要乘數和主要乘數(參見 §2.5.2)。零表示不變更該值。
|
||||
有關垃圾回收和其中一些選項的更多詳細資訊,請參見 §2.5。
|
||||
|
||||
終結器不應呼叫此函式。
|
||||
]]
|
||||
|
||||
collectgarbage55 =
|
||||
[[
|
||||
此函式是垃圾回收器的通用介面。根據其第一個引數 opt 執行不同的功能:
|
||||
|
||||
* `"collect"`:執行一個完整的垃圾回收週期。這是預設選項。
|
||||
* `"stop"`:停止垃圾回收器的自動執行。回收器將僅在顯式呼叫時執行,直到呼叫重新啟動它。
|
||||
* `"restart"`:重新啟動垃圾回收器的自動執行。
|
||||
* `"count"`:回傳 Lua 使用的總記憶體數(以 K 位元組為單位)。該值有小數部分,因此乘以 1024 即可得到 Lua 使用的精確位元組數。
|
||||
* `"step"`:執行一次垃圾回收步驟。此選項後可以接一個額外引數,一個表示步進大小的整數。
|
||||
|
||||
如果大小為正數 n,回收器的行為就像分配了 n 個新位元組。如果大小為零,回收器執行一個基本步驟。在增量模式下,基本步驟對應於目前步進大小。在分代模式下,基本步驟執行一次完整的次要回收,或者如果回收器已安排了增量步驟,則執行增量步驟。
|
||||
|
||||
在增量模式下,如果步驟完成了一個回收週期,函式回傳 true。在分代模式下,如果步驟完成了一次主要回收,函式回傳 true。
|
||||
|
||||
* `"isrunning"`:回傳一個布林值,指示回收器是否正在執行(即未停止)。
|
||||
* `"incremental"`:將回收器模式變更為增量模式並回傳先前的模式。
|
||||
* `"generational"`:將回收器模式變更為分代模式並回傳先前的模式。
|
||||
* `"param"`:變更和/或檢索回收器參數的值。此選項後必須接一個或兩個額外引數:被變更或檢索的參數名稱(字串)和該參數的可選新值,範圍為 [0,100000] 的整數。第一個引數必須是以下值之一:
|
||||
* `"minormul"`:次要乘數。
|
||||
* `"majorminor"`:主要-次要乘數。
|
||||
* `"minormajor"`:次要-主要乘數。
|
||||
* `"pause"`:垃圾回收器間歇率。
|
||||
* `"stepmul"`:步進倍率。
|
||||
* `"stepsize"`:步進大小。
|
||||
|
||||
呼叫總是回傳參數的先前值。如果呼叫未提供新值,則該值保持不變。
|
||||
|
||||
Lua 以壓縮格式儲存這些值,因此作為先前值回傳的值可能不完全等於上次設定的值。
|
||||
|
||||
有關垃圾回收和其中一些選項的更多詳細資訊,請參見 §2.5。
|
||||
|
||||
終結器不應呼叫此函式。
|
||||
]]
|
||||
|
||||
dofile =
|
||||
'打開該名字的檔案,並執行檔案中的 Lua 程式碼區塊。不帶引數呼叫時, `dofile` 執行標準輸入的內容(`stdin`)。回傳該程式碼區塊的所有回傳值。對於有錯誤的情況, `dofile` 將錯誤回饋給呼叫者(即 `dofile` 沒有執行在保護模式下)。'
|
||||
|
||||
error =
|
||||
[[
|
||||
中止上一次保護函式呼叫,將錯誤物件 `message` 回傳。函式 `error` 永遠不會回傳。
|
||||
|
||||
當 `message` 是一個字串時,通常 `error` 會把一些有關出錯位置的資訊附加在訊息的開頭。 `level` 引數指明了怎樣獲得出錯位置。
|
||||
]]
|
||||
|
||||
_G =
|
||||
'一個全域變數(非函式),內部儲存有全域環境(參見 §2.2)。 Lua 自己不使用這個變數;改變這個變數的值不會對任何環境造成影響,反之亦然。'
|
||||
|
||||
getfenv =
|
||||
'回傳給定函式的環境。 `f` 可以是一個Lua函式,也可是一個表示呼叫堆疊層級的數字。'
|
||||
|
||||
getmetatable =
|
||||
'如果 `object` 不包含中繼資料表,回傳 `nil` 。否則,如果在該物件的中繼資料表中有 `"__metatable"` 欄位時回傳其關聯值,沒有時回傳該對象的中繼資料表。'
|
||||
|
||||
ipairs =
|
||||
[[
|
||||
回傳三個值(疊代函式、表 `t` 以及 `0` ),如此,以下程式碼
|
||||
```lua
|
||||
for i,v in ipairs(t) do body end
|
||||
```
|
||||
將疊代鍵值對 `(1,t[1])、(2,t[2])...` ,直到第一個空值。
|
||||
]]
|
||||
|
||||
loadmode.b =
|
||||
'只能是二進制程式碼區塊。'
|
||||
loadmode.t =
|
||||
'只能是文字程式碼區塊。'
|
||||
loadmode.bt =
|
||||
'可以是二進制也可以是文字。'
|
||||
|
||||
load['<5.1'] =
|
||||
'使用 `func` 分段載入程式碼區塊。每次呼叫 `func` 必須回傳一個字串用於連接前文。'
|
||||
load['>5.2'] =
|
||||
[[
|
||||
載入一個程式碼區塊。
|
||||
|
||||
如果 `chunk` 是一個字串,程式碼區塊指這個字串。如果 `chunk` 是一個函式, `load` 不斷地呼叫它獲取程式碼區塊的片段。每次對 `chunk` 的呼叫都必須回傳一個字串緊緊連接在上次呼叫的回傳串之後。當回傳空串、 `nil` 、或是不回傳值時,都表示程式碼區塊結束。
|
||||
]]
|
||||
|
||||
loadfile =
|
||||
'從檔案 `filename` 或標準輸入(如果未提供檔名)中獲取程式碼區塊。'
|
||||
|
||||
loadstring =
|
||||
'使用給定字串載入程式碼區塊。'
|
||||
|
||||
module =
|
||||
'建立一個模組。'
|
||||
|
||||
next =
|
||||
[[
|
||||
執行程式來走訪表中的所有域。第一個引數是要走訪的表,第二個引數是表中的某個鍵。 `next` 回傳該鍵的下一個鍵及其關聯的值。如果用 `nil` 作為第二個引數呼叫 `next` 將回傳初始鍵及其關聯值。當以最後一個鍵去呼叫,或是以 `nil` 呼叫一張空表時, `next` 回傳 `nil`。如果不提供第二個引數,將預設它就是 `nil`。特別指出,你可以用 `next(t)` 來判斷一張表是否是空的。
|
||||
|
||||
索引在走訪過程中的順序無定義,即使是數字索引也是這樣。(如果想按數字順序走訪表,可以使用數字形式的 `for` 。)
|
||||
|
||||
當在走訪過程中你給表中並不存在的域賦值, `next` 的行為是未定義的。然而你可以去修改那些已存在的域。特別指出,你可以清除一些已存在的域。
|
||||
]]
|
||||
|
||||
pairs =
|
||||
[[
|
||||
如果 `t` 有元方法 `__pairs` ,以 `t` 為引數呼叫它,並回傳其回傳的前三個值。
|
||||
|
||||
否則,回傳三個值: `next` 函式,表 `t` ,以及 `nil` 。因此以下程式碼
|
||||
```lua
|
||||
for k,v in pairs(t) do body end
|
||||
```
|
||||
能疊代表 `t` 中的所有鍵值對。
|
||||
|
||||
參見函式 $next 中關於疊代過程中修改表的風險。
|
||||
]]
|
||||
|
||||
pcall =
|
||||
'透過將函式 `f` 傳入引數,以 *保護模式* 呼叫 `f` 。這意味著 `f` 中的任何錯誤不會擲回;取而代之的是, `pcall` 會將錯誤捕獲到,並回傳一個狀態碼。第一個回傳值是狀態碼(一個布林值),當沒有錯誤時,其為 `true` 。此時, `pcall` 同樣會在狀態碼後回傳所有呼叫的結果。在有錯誤時,`pcall` 回傳 `false` 加錯誤訊息。'
|
||||
|
||||
print =
|
||||
'接收任意數量的引數,並將它們的值列印到 `stdout`。它用 `tostring` 函式將每個引數都轉換為字串。 `print` 不用於做格式化輸出。僅作為看一下某個值的快捷方式,多用於除錯。完整的對輸出的控制,請使用 $string.format 以及 $io.write。'
|
||||
|
||||
rawequal =
|
||||
'在不觸發任何元方法的情況下,檢查 `v1` 是否和 `v2` 相等。回傳一個布林值。'
|
||||
|
||||
rawget =
|
||||
'在不觸發任何元方法的情況下,獲取 `table[index]` 的值。 `table` 必須是一張表; `index` 可以是任何值。'
|
||||
|
||||
rawlen =
|
||||
'在不觸發任何元方法的情況下,回傳物件 `v` 的長度。 `v` 可以是表或字串。它回傳一個整數。'
|
||||
|
||||
rawset =
|
||||
[[
|
||||
在不觸發任何元方法的情況下,將 `table[index]` 設為 `value`。 `table` 必須是一張表, `index` 可以是 `nil` 與 `NaN` 之外的任何值。 `value` 可以是任何 Lua 值。
|
||||
這個函式回傳 `table`。
|
||||
]]
|
||||
|
||||
select =
|
||||
'如果 `index` 是個數字,那麼回傳引數中第 `index` 個之後的部分;負的數字會從後向前索引(`-1` 指最後一個引數)。否則, `index` 必須是字串 `"#"` ,此時 `select` 回傳引數的個數。'
|
||||
|
||||
setfenv =
|
||||
'設定給定函式的環境。'
|
||||
|
||||
setmetatable =
|
||||
[[
|
||||
為指定的表設定中繼資料表,如果 `metatable` 是 `nil`,則移除該表的中繼資料表。如果原來那張中繼資料表有 `"__metatable"` 欄位,則擲回一個錯誤。
|
||||
|
||||
這個函式回傳 `table`。
|
||||
|
||||
你必須使用除錯庫(參見§6.10)才能修改 Lua 中其他類型的中繼資料表。
|
||||
]]
|
||||
|
||||
tonumber =
|
||||
[[
|
||||
如果呼叫的時候沒有 `base` , `tonumber` 會嘗試把引數轉換為一個數字。如果引數已經是一個數字,或是一個可以轉換為數字的字串, `tonumber` 就回傳這個數字,否則回傳 `fail`。
|
||||
|
||||
字串的轉換結果可能是整數也可能是浮點數,這取決於 Lua 的轉換文法(參見 §3.1)。(字串可以有前置和後置的空格,可以帶符號。)
|
||||
]]
|
||||
|
||||
tostring =
|
||||
[[
|
||||
可以將任何類型轉換為人可閱讀的字串形式。浮點數總被轉換為浮點數的表現形式(小數點形式或是指數形式)。
|
||||
如果 `v` 的中繼資料表有 `"__tostring"` 欄位, `tostring` 會以 `v` 為引數呼叫它。並用它的結果作為回傳值。
|
||||
如果想完全控制數字如何被轉換,可以使用 $string.format 。
|
||||
]]
|
||||
|
||||
type =
|
||||
[[
|
||||
將引數的類型編碼為一個字串回傳。 函式可能的回傳值有 `"nil"` (一個字串,而不是 `nil` 值)、 `"number"` 、 `"string"` 、 `"boolean"` 、 `"table"` 、 `"function"` 、 `"thread"` 和 `"userdata"`。
|
||||
]]
|
||||
|
||||
_VERSION =
|
||||
'一個包含有目前直譯器版本號的全域變數(並非函式)。'
|
||||
|
||||
warn =
|
||||
'使用所有引數組成的字串訊息來發送警告。'
|
||||
|
||||
xpcall['=5.1'] =
|
||||
'透過將函式 `f` 傳入引數,以 *保護模式* 呼叫 `f` 。這個函式和 `pcall` 類似。不過它可以額外設定一個訊息處理器 `err`。'
|
||||
xpcall['>5.2'] =
|
||||
'透過將函式 `f` 傳入引數,以 *保護模式* 呼叫 `f` 。這個函式和 `pcall` 類似。不過它可以額外設定一個訊息處理器 `msgh`。'
|
||||
|
||||
unpack =
|
||||
[[
|
||||
回傳給定 `list` 中的所有元素。該函式等價於
|
||||
```lua
|
||||
return list[i], list[i+1], ···, list[j]
|
||||
```
|
||||
]]
|
||||
|
||||
bit32 =
|
||||
''
|
||||
bit32.arshift =
|
||||
[[
|
||||
回傳 `x` 向右位移 `disp` 位的結果。`disp` 為負時向左位移。這是算數位元運算,左側的空位使用 `x` 的高位元填充,右側空位使用 `0` 填充。
|
||||
]]
|
||||
bit32.band =
|
||||
'回傳參數按位元及的結果。'
|
||||
bit32.bnot =
|
||||
[[
|
||||
回傳 `x` 按位元取反的結果。
|
||||
|
||||
```lua
|
||||
assert(bit32.bnot(x) ==
|
||||
(-1 - x) % 2^32)
|
||||
```
|
||||
]]
|
||||
bit32.bor =
|
||||
'回傳參數按位元或的結果。'
|
||||
bit32.btest =
|
||||
'參數按位元與的結果不為 `0` 時,回傳 `true` 。'
|
||||
bit32.bxor =
|
||||
'回傳參數按位元互斥或的結果。'
|
||||
bit32.extract =
|
||||
'回傳 `n` 中第 `field` 到第 `field + width - 1` 位組成的結果。'
|
||||
bit32.replace =
|
||||
'回傳 `v` 的第 `field` 到第 `field + width - 1` 位替換 `n` 的對應位後的結果。'
|
||||
bit32.lrotate =
|
||||
'回傳 `x` 向左旋轉 `disp` 位的結果。`disp` 為負時向右旋轉。'
|
||||
bit32.lshift =
|
||||
[[
|
||||
回傳 `x` 向左位移 `disp` 位的結果。`disp` 為負時向右位移。空位總是使用 `0` 填充。
|
||||
|
||||
```lua
|
||||
assert(bit32.lshift(b, disp) ==
|
||||
(b * 2^disp) % 2^32)
|
||||
```
|
||||
]]
|
||||
bit32.rrotate =
|
||||
'回傳 `x` 向右旋轉 `disp` 位的結果。`disp` 為負時向左旋轉。'
|
||||
bit32.rshift =
|
||||
[[
|
||||
回傳 `x` 向右位移 `disp` 位的結果。`disp` 為負時向左位移。空位總是使用 `0` 填充。
|
||||
|
||||
```lua
|
||||
assert(bit32.lshift(b, disp) ==
|
||||
(b * 2^disp) % 2^32)
|
||||
```
|
||||
]]
|
||||
|
||||
coroutine =
|
||||
''
|
||||
coroutine.create =
|
||||
'建立一個主體函式為 `f` 的新共常式。 f 必須是一個 Lua 的函式。回傳這個新共常式,它是一個類型為 `"thread"` 的物件。'
|
||||
coroutine.isyieldable =
|
||||
'如果正在執行的共常式可以讓出,則回傳真。'
|
||||
coroutine.isyieldable['>5.4'] =
|
||||
'如果共常式 `co` 可以讓出,則回傳真。 `co` 預設為正在執行的共常式。'
|
||||
coroutine.close =
|
||||
'關閉共常式 `co` ,並關閉它所有等待 *to-be-closed* 的變數,並將共常式狀態設為 `dead` 。'
|
||||
coroutine.resume =
|
||||
'開始或繼續共常式 `co` 的執行。'
|
||||
coroutine.running =
|
||||
'回傳目前正在執行的共常式加一個布林值。如果目前執行的共常式是主執行緒,其為真。'
|
||||
coroutine.status =
|
||||
'以字串形式回傳共常式 `co` 的狀態。'
|
||||
coroutine.wrap =
|
||||
'建立一個主體函式為 `f` 的新共常式。 f 必須是一個 Lua 的函式。回傳一個函式,每次呼叫該函式都會延續該共常式。'
|
||||
coroutine.yield =
|
||||
'懸置正在呼叫的共常式的執行。'
|
||||
|
||||
costatus.running =
|
||||
'正在執行。'
|
||||
costatus.suspended =
|
||||
'懸置或是還沒有開始執行。'
|
||||
costatus.normal =
|
||||
'是活動的,但並不在執行。'
|
||||
costatus.dead =
|
||||
'執行完主體函式或因錯誤停止。'
|
||||
|
||||
debug =
|
||||
''
|
||||
debug.debug =
|
||||
'進入一個使用者互動模式,執行使用者輸入的每個字串。'
|
||||
debug.getfenv =
|
||||
'回傳物件 `o` 的環境。'
|
||||
debug.gethook =
|
||||
'回傳三個表示執行緒攔截設定的值:目前攔截函式,目前攔截遮罩,目前攔截計數。'
|
||||
debug.getinfo =
|
||||
'回傳關於一個函式資訊的表。'
|
||||
debug.getlocal['<5.1'] =
|
||||
'回傳在堆疊的 `level` 層處函式的索引為 `index` 的區域變數的名字和值。'
|
||||
debug.getlocal['>5.2'] =
|
||||
'回傳在堆疊的 `f` 層處函式的索引為 `index` 的區域變數的名字和值。'
|
||||
debug.getmetatable =
|
||||
'回傳給定 `value` 的中繼資料表。'
|
||||
debug.getregistry =
|
||||
'回傳註冊表。'
|
||||
debug.getupvalue =
|
||||
'回傳函式 `f` 的第 `up` 個上值的名字和值。'
|
||||
debug.getuservalue['<5.3']=
|
||||
'回傳關聯在 `u` 上的 `Lua` 值。'
|
||||
debug.getuservalue['>5.4']=
|
||||
'回傳關聯在 `u` 上的第 `n` 個 `Lua` 值,以及一個布林, `false` 表示值不存在。'
|
||||
debug.setcstacklimit =
|
||||
[[
|
||||
### **已在 `Lua 5.4.2` 中棄用**
|
||||
|
||||
設定新的C堆疊限制。該限制控制Lua中巢狀呼叫的深度,以避免堆疊溢出。
|
||||
|
||||
如果設定成功,該函式回傳之前的限制;否則回傳 `false`。
|
||||
]]
|
||||
debug.setfenv =
|
||||
'將 `table` 設定為 `object` 的環境。'
|
||||
debug.sethook =
|
||||
'將一個函式設定為攔截函式。'
|
||||
debug.setlocal =
|
||||
'將 `value` 賦給 堆疊上第 `level` 層函式的第 `local` 個區域變數。'
|
||||
debug.setmetatable =
|
||||
'將 `value` 的中繼資料表設為 `table` (可以是 `nil` )。'
|
||||
debug.setupvalue =
|
||||
'將 `value` 設為函式 `f` 的第 `up` 個上值。'
|
||||
debug.setuservalue['<5.3']=
|
||||
'將 `value` 設為 `udata` 的關聯值。'
|
||||
debug.setuservalue['>5.4']=
|
||||
'將 `value` 設為 `udata` 的第 `n` 個關聯值。'
|
||||
debug.traceback =
|
||||
'回傳呼叫堆疊的堆疊回溯資訊。字串可選項 `message` 被添加在堆疊回溯資訊的開頭。'
|
||||
debug.upvalueid =
|
||||
'回傳指定函式第 `n` 個上值的唯一識別字(一個輕量使用者資料)。'
|
||||
debug.upvaluejoin =
|
||||
'讓 Lua 閉包 `f1` 的第 `n1` 個上值 引用 `Lua` 閉包 `f2` 的第 `n2` 個上值。'
|
||||
|
||||
infowhat.n =
|
||||
'`name` 和 `namewhat`'
|
||||
infowhat.S =
|
||||
'`source` 、 `short_src` 、 `linedefined` 、 `lalinedefined` 和 `what`'
|
||||
infowhat.l =
|
||||
'`currentline`'
|
||||
infowhat.t =
|
||||
'`istailcall`'
|
||||
infowhat.u['<5.1'] =
|
||||
'`nups`'
|
||||
infowhat.u['>5.2'] =
|
||||
'`nups` 、 `nparams` 和 `isvararg`'
|
||||
infowhat.f =
|
||||
'`func`'
|
||||
infowhat.r =
|
||||
'`ftransfer` 和 `ntransfer`'
|
||||
infowhat.L =
|
||||
'`activelines`'
|
||||
|
||||
hookmask.c =
|
||||
'每當 Lua 呼叫一個函式時,呼叫攔截。'
|
||||
hookmask.r =
|
||||
'每當 Lua 從一個函式內回傳時,呼叫攔截。'
|
||||
hookmask.l =
|
||||
'每當 Lua 進入新的一行時,呼叫攔截。'
|
||||
|
||||
file =
|
||||
''
|
||||
file[':close'] =
|
||||
'關閉 `file`。'
|
||||
file[':flush'] =
|
||||
'將寫入的資料儲存到 `file` 中。'
|
||||
file[':lines'] =
|
||||
[[
|
||||
------
|
||||
```lua
|
||||
for c in file:lines(...) do
|
||||
body
|
||||
end
|
||||
```
|
||||
]]
|
||||
file[':read'] =
|
||||
'讀取檔案 `file` ,指定的格式決定了要讀取什麼。'
|
||||
file[':seek'] =
|
||||
'設定及獲取基於檔案開頭處計算出的位置。'
|
||||
file[':setvbuf'] =
|
||||
'設定輸出檔案的緩衝模式。'
|
||||
file[':write'] =
|
||||
'將引數的值逐個寫入 `file` 。'
|
||||
|
||||
readmode.n =
|
||||
'讀取一個數字,根據 Lua 的轉換文法回傳浮點數或整數。'
|
||||
readmode.a =
|
||||
'從目前位置開始讀取整個檔案。'
|
||||
readmode.l =
|
||||
'讀取一行並忽略行尾標記。'
|
||||
readmode.L =
|
||||
'讀取一行並保留行尾標記。'
|
||||
|
||||
seekwhence.set =
|
||||
'基點為 0 (檔案開頭)。'
|
||||
seekwhence.cur =
|
||||
'基點為目前位置。'
|
||||
seekwhence['.end'] =
|
||||
'基點為檔案尾。'
|
||||
|
||||
vbuf.no =
|
||||
'不緩衝;輸出操作即時生效。'
|
||||
vbuf.full =
|
||||
'完全緩衝;只有在快取滿或呼叫 flush 時才做輸出操作。'
|
||||
vbuf.line =
|
||||
'行緩衝;輸出將緩衝到每次換行前。'
|
||||
|
||||
io =
|
||||
''
|
||||
io.stdin =
|
||||
'標準輸入。'
|
||||
io.stdout =
|
||||
'標準輸出。'
|
||||
io.stderr =
|
||||
'標準錯誤。'
|
||||
io.close =
|
||||
'關閉 `file` 或預設輸出檔案。'
|
||||
io.flush =
|
||||
'將寫入的資料儲存到預設輸出檔案中。'
|
||||
io.input =
|
||||
'設定 `file` 為預設輸入檔案。'
|
||||
io.lines =
|
||||
[[
|
||||
------
|
||||
```lua
|
||||
for c in io.lines(filename, ...) do
|
||||
body
|
||||
end
|
||||
```
|
||||
]]
|
||||
io.open =
|
||||
'用字串 `mode` 指定的模式打開一個檔案。'
|
||||
io.output =
|
||||
'設定 `file` 為預設輸出檔案。'
|
||||
io.popen =
|
||||
'用一個分離處理程序開啟程式 `prog` 。'
|
||||
io.read =
|
||||
'讀取檔案 `file` ,指定的格式決定了要讀取什麼。'
|
||||
io.tmpfile =
|
||||
'如果成功,回傳一個臨時檔案的控制代碼。'
|
||||
io.type =
|
||||
'檢查 `obj` 是否是合法的檔案控制代碼。'
|
||||
io.write =
|
||||
'將引數的值逐個寫入預設輸出檔案。'
|
||||
|
||||
openmode.r =
|
||||
'讀取模式。'
|
||||
openmode.w =
|
||||
'寫入模式。'
|
||||
openmode.a =
|
||||
'追加模式。'
|
||||
openmode['.r+'] =
|
||||
'更新模式,所有之前的資料都保留。'
|
||||
openmode['.w+'] =
|
||||
'更新模式,所有之前的資料都刪除。'
|
||||
openmode['.a+'] =
|
||||
'追加更新模式,所有之前的資料都保留,只允許在檔案尾部做寫入。'
|
||||
openmode.rb =
|
||||
'讀取模式。(二進制方式)'
|
||||
openmode.wb =
|
||||
'寫入模式。(二進制方式)'
|
||||
openmode.ab =
|
||||
'追加模式。(二進制方式)'
|
||||
openmode['.r+b'] =
|
||||
'更新模式,所有之前的資料都保留。(二進制方式)'
|
||||
openmode['.w+b'] =
|
||||
'更新模式,所有之前的資料都刪除。(二進制方式)'
|
||||
openmode['.a+b'] =
|
||||
'追加更新模式,所有之前的資料都保留,只允許在檔案尾部做寫入。(二進制方式)'
|
||||
|
||||
popenmode.r =
|
||||
'從這個程式讀取資料。(二進制方式)'
|
||||
popenmode.w =
|
||||
'向這個程式寫入資料。(二進制方式)'
|
||||
|
||||
filetype.file =
|
||||
'是一個打開的檔案控制代碼。'
|
||||
filetype['.closed file'] =
|
||||
'是一個關閉的檔案控制代碼。'
|
||||
filetype['.nil'] =
|
||||
'不是檔案控制代碼。'
|
||||
|
||||
math =
|
||||
''
|
||||
math.abs =
|
||||
'回傳 `x` 的絕對值。'
|
||||
math.acos =
|
||||
'回傳 `x` 的反餘弦值(用弧度表示)。'
|
||||
math.asin =
|
||||
'回傳 `x` 的反正弦值(用弧度表示)。'
|
||||
math.atan['<5.2'] =
|
||||
'回傳 `x` 的反正切值(用弧度表示)。'
|
||||
math.atan['>5.3'] =
|
||||
'回傳 `y/x` 的反正切值(用弧度表示)。'
|
||||
math.atan2 =
|
||||
'回傳 `y/x` 的反正切值(用弧度表示)。'
|
||||
math.ceil =
|
||||
'回傳不小於 `x` 的最小整數值。'
|
||||
math.cos =
|
||||
'回傳 `x` 的餘弦(假定引數是弧度)。'
|
||||
math.cosh =
|
||||
'回傳 `x` 的雙曲餘弦(假定引數是弧度)。'
|
||||
math.deg =
|
||||
'將角 `x` 從弧度轉換為角度。'
|
||||
math.exp =
|
||||
'回傳 `e^x` 的值(e 為自然對數的底)。'
|
||||
math.floor =
|
||||
'回傳不大於 `x` 的最大整數值。'
|
||||
math.fmod =
|
||||
'回傳 `x` 除以 `y`,將商向零捨入後的餘數。'
|
||||
math.frexp =
|
||||
'將 `x` 分解為尾數與指數,回傳值符合 `x = m * (2 ^ e)` 。`e` 是一個整數,`m` 是 [0.5, 1) 之間的規格化小數 (`x` 為0時 `m` 為0)。'
|
||||
math.huge =
|
||||
'一個比任何數字值都大的浮點數。'
|
||||
math.ldexp =
|
||||
'回傳 `m * (2 ^ e)` 。'
|
||||
math.log['<5.1'] =
|
||||
'回傳 `x` 的自然對數。'
|
||||
math.log['>5.2'] =
|
||||
'回傳指定底的 `x` 的對數。'
|
||||
math.log10 =
|
||||
'回傳 `x` 的以10為底的對數。'
|
||||
math.max =
|
||||
'回傳引數中最大的值,大小由 Lua 運算子 `<` 決定。'
|
||||
math.maxinteger['>5.3'] =
|
||||
'最大值的整數。'
|
||||
math.min =
|
||||
'回傳引數中最小的值,大小由 Lua 運算子 `<` 決定。'
|
||||
math.mininteger['>5.3'] =
|
||||
'最小值的整數。'
|
||||
math.modf =
|
||||
'回傳 `x` 的整數部分和小數部分。'
|
||||
math.pi =
|
||||
'*π* 的值。'
|
||||
math.pow =
|
||||
'回傳 `x ^ y` 。'
|
||||
math.rad =
|
||||
'將角 `x` 從角度轉換為弧度。'
|
||||
math.random =
|
||||
[[
|
||||
* `math.random()` :回傳 [0,1) 區間內均勻分佈的浮點偽隨機數。
|
||||
* `math.random(n)` :回傳 [1, n] 區間內均勻分佈的整數偽隨機數。
|
||||
* `math.random(m, n)` :回傳 [m, n] 區間內均勻分佈的整數偽隨機數。
|
||||
]]
|
||||
math.randomseed['<5.3'] =
|
||||
'把 `x` 設為偽隨機數發生器的“種子”: 相同的種子產生相同的隨機數列。'
|
||||
math.randomseed['>5.4'] =
|
||||
[[
|
||||
* `math.randomseed(x, y)` :將 `x` 與 `y` 連接為128位的種子來重新初始化偽隨機產生器。
|
||||
* `math.randomseed(x)` :等同於 `math.randomseed(x, 0)` 。
|
||||
* `math.randomseed()` :產生一個較弱的隨機種子。
|
||||
]]
|
||||
math.sin =
|
||||
'回傳 `x` 的正弦值(假定引數是弧度)。'
|
||||
math.sinh =
|
||||
'回傳 `x` 的雙曲正弦值(假定引數是弧度)。'
|
||||
math.sqrt =
|
||||
'回傳 `x` 的平方根。'
|
||||
math.tan =
|
||||
'回傳 `x` 的正切值(假定引數是弧度)。'
|
||||
math.tanh =
|
||||
'回傳 `x` 的雙曲正切值(假定引數是弧度)。'
|
||||
math.tointeger['>5.3'] =
|
||||
'如果 `x` 可以轉換為一個整數,回傳該整數。'
|
||||
math.type['>5.3'] =
|
||||
'如果 `x` 是整數,回傳 `"integer"` ,如果它是浮點數,回傳 `"float"` ,如果 `x` 不是數字,回傳 `nil` 。'
|
||||
math.ult['>5.3'] =
|
||||
'整數 `m` 和 `n` 以無符號整數形式比較,如果 `m` 小於 `n` 則回傳布林真,否則回傳假。'
|
||||
|
||||
os =
|
||||
''
|
||||
os.clock =
|
||||
'回傳程式使用的 CPU 時間的近似值,單位為秒。'
|
||||
os.date =
|
||||
'回傳一個包含日期及時刻的字串或表。格式化方法取決於所給字串 `format` 。'
|
||||
os.difftime =
|
||||
'回傳以秒計算的時刻 `t1` 到 `t2` 的差值。'
|
||||
os.execute =
|
||||
'呼叫作業系統殼層執行 `command` 。'
|
||||
os.exit['<5.1'] =
|
||||
'呼叫 C 函式 `exit` 終止宿主程式。'
|
||||
os.exit['>5.2'] =
|
||||
'呼叫 ISO C 函式 `exit` 終止宿主程式。'
|
||||
os.getenv =
|
||||
'回傳處理程序環境變數 `varname` 的值。'
|
||||
os.remove =
|
||||
'刪除指定名字的檔案。'
|
||||
os.rename =
|
||||
'將名字為 `oldname` 的檔案或資料夾重新命名為 `newname`。'
|
||||
os.setlocale =
|
||||
'設定程式的目前區域。'
|
||||
os.time =
|
||||
'當不傳引數時,回傳目前時刻。如果傳入一張表,就回傳由這張表表示的時刻。'
|
||||
os.tmpname =
|
||||
'回傳一個可用於臨時檔案的檔名字串。'
|
||||
|
||||
osdate.year =
|
||||
'四位數字'
|
||||
osdate.month =
|
||||
'1-12'
|
||||
osdate.day =
|
||||
'1-31'
|
||||
osdate.hour =
|
||||
'0-23'
|
||||
osdate.min =
|
||||
'0-59'
|
||||
osdate.sec =
|
||||
'0-61'
|
||||
osdate.wday =
|
||||
'星期幾,範圍為1-7,星期天為 1'
|
||||
osdate.yday =
|
||||
'該年的第幾天,範圍為1-366'
|
||||
osdate.isdst =
|
||||
'是否為夏令時間,一個布林值'
|
||||
|
||||
package =
|
||||
''
|
||||
|
||||
require['<5.3'] =
|
||||
'載入一個模組,回傳該模組的回傳值( `nil` 時為 `true` )。'
|
||||
require['>5.4'] =
|
||||
'載入一個模組,回傳該模組的回傳值( `nil` 時為 `true` )與搜尋器回傳的載入資料。預設搜尋器的載入資料指示了載入位置,對於檔案來說就是檔案路徑。'
|
||||
|
||||
package.config =
|
||||
'一個描述一些為包管理準備的編譯時期組態的字串。'
|
||||
package.cpath =
|
||||
'這個路徑被 `require` 在 C 載入器中做搜尋時用到。'
|
||||
package.loaded =
|
||||
'用於 `require` 控制哪些模組已經被載入的表。'
|
||||
package.loaders =
|
||||
'用於 `require` 控制如何載入模組的表。'
|
||||
package.loadlib =
|
||||
'讓宿主程式動態連結 C 庫 `libname` 。'
|
||||
package.path =
|
||||
'這個路徑被 `require` 在 Lua 載入器中做搜尋時用到。'
|
||||
package.preload =
|
||||
'儲存有一些特殊模組的載入器。'
|
||||
package.searchers =
|
||||
'用於 `require` 控制如何載入模組的表。'
|
||||
package.searchpath =
|
||||
'在指定 `path` 中搜尋指定的 `name` 。'
|
||||
package.seeall =
|
||||
'給 `module` 設定一個中繼資料表,該中繼資料表的 `__index` 域為全域環境,這樣模組便會繼承全域環境的值。可作為 `module` 函式的選項。'
|
||||
|
||||
string =
|
||||
''
|
||||
string.byte =
|
||||
'回傳字元 `s[i]` 、 `s[i+1]` ... `s[j]` 的內部數字編碼。'
|
||||
string.char =
|
||||
'回傳和引數數量相同長度的字串。其中每個字元的內部編碼值等於對應的引數值。'
|
||||
string.dump =
|
||||
'回傳包含有以二進制方式表示的(一個 *二進制程式碼區塊* )指定函式的字串。'
|
||||
string.find =
|
||||
'尋找第一個字串中配對到的 `pattern`(參見 §6.4.1)。'
|
||||
string.find['>5.2'] =
|
||||
'尋找字串中符合 `pattern`(參見 §6.4.1)的第一個配對。'
|
||||
string.find['=5.1'] =
|
||||
'尋找字串中符合 `pattern`(參見 §5.4.1)的第一個配對。'
|
||||
string.format =
|
||||
'回傳不定數量引數的格式化版本,格式化字串為第一個引數。'
|
||||
string.gmatch =
|
||||
[[
|
||||
回傳一個疊代器函式。每次呼叫這個函式都會繼續以 `pattern` (參見 §6.4.1)對 s 做配對,並回傳所有捕獲到的值。
|
||||
|
||||
下面這個例子會循環疊代字串 s 中所有的單詞, 並逐行列印:
|
||||
```lua
|
||||
s =
|
||||
"hello world from Lua"
|
||||
for w in string.gmatch(s, "%a+") do
|
||||
print(w)
|
||||
end
|
||||
```
|
||||
]]
|
||||
string.gsub =
|
||||
'將字串 s 中,所有的(或是有提供 n 時的前 n 個) `pattern` (參見 §6.4.1)都替換成 `repl` ,並回傳其副本。'
|
||||
string.gmatch['>5.2'] =
|
||||
[[
|
||||
回傳一個疊代器函式。每次呼叫都會以 `pattern`(參見 §6.4.1)在字串 s 上繼續配對,並回傳下一組捕獲值。
|
||||
|
||||
例如,下列迴圈會疊代字串 s 中的所有單詞,並逐行列印:
|
||||
```lua
|
||||
s =
|
||||
"hello world from Lua"
|
||||
for w in string.gmatch(s, "%a+") do
|
||||
print(w)
|
||||
end
|
||||
```
|
||||
]]
|
||||
string.gmatch['=5.1'] =
|
||||
[[
|
||||
回傳一個疊代器函式。每次呼叫都會以 `pattern`(參見 §5.4.1)在字串 s 上繼續配對,並回傳下一組捕獲值。
|
||||
|
||||
例如,下列迴圈會疊代字串 s 中的所有單詞,並逐行列印:
|
||||
```lua
|
||||
s =
|
||||
"hello world from Lua"
|
||||
for w in string.gmatch(s, "%a+") do
|
||||
print(w)
|
||||
end
|
||||
```
|
||||
]]
|
||||
string.gsub['>5.2'] =
|
||||
'回傳字串 s 的副本,其中所有(或有提供 n 時的前 n 個)`pattern`(參見 §6.4.1)都被 `repl` 取代。'
|
||||
string.gsub['=5.1'] =
|
||||
'回傳字串 s 的副本,其中所有(或有提供 n 時的前 n 個)`pattern`(參見 §5.4.1)都被 `repl` 取代。'
|
||||
string.len =
|
||||
'回傳其長度。'
|
||||
string.lower =
|
||||
'將其中的大寫字元都轉為小寫後回傳其副本。'
|
||||
string.match =
|
||||
'在字串 s 中找到第一個能用 `pattern` (參見 §6.4.1)配對到的部分。如果能找到,回傳其中的捕獲物,否則回傳 `nil` 。'
|
||||
string.pack =
|
||||
'回傳一個壓縮了(即以二進制形式序列化) v1, v2 等值的二進制字串。字串 `fmt` 為壓縮格式(參見 §6.4.2)。'
|
||||
string.packsize =
|
||||
[[回傳以指定格式用 $string.pack 壓縮的字串的長度。格式化字串中不可以有變長選項 's' 或 'z' (參見 §6.4.2)。]]
|
||||
string.match['>5.2'] =
|
||||
'尋找字串中符合 `pattern`(參見 §6.4.1)的第一個配對。'
|
||||
string.match['=5.1'] =
|
||||
'尋找字串中符合 `pattern`(參見 §5.4.1)的第一個配對。'
|
||||
string.pack['>5.2'] =
|
||||
'依照格式字串 `fmt`(參見 §6.4.2)打包(也就是以二進位形式序列化)值 `v1`、`v2` 等,並回傳包含結果的二進位字串。'
|
||||
string.packsize['>5.2'] =
|
||||
'回傳使用指定格式字串 `fmt`(參見 §6.4.2)呼叫 $string.pack 所得到字串的大小。'
|
||||
string.rep['>5.2'] =
|
||||
'回傳 `n` 個由字串 `s` 以字串 `sep` 為分割符連在一起的字串。預設的 `sep` 值為空字串(即沒有分割符)。如果 `n` 不是正數則回傳空字串。'
|
||||
string.rep['<5.1'] =
|
||||
'回傳 `n` 個由字串 `s` 連在一起的字串。如果 `n` 不是正數則回傳空字串。'
|
||||
string.reverse =
|
||||
'回傳字串 `s` 的反轉字串。'
|
||||
string.sub =
|
||||
'回傳一個從 `i` 開始並在 `j` 結束的子字串。'
|
||||
string.unpack =
|
||||
'回傳以格式 `fmt` (參見 §6.4.2) 壓縮在字串 `s` (參見 $string.pack) 中的值。'
|
||||
string.upper =
|
||||
'接收一個字串,將其中的小寫字元都轉為大寫後回傳其副本。'
|
||||
|
||||
table =
|
||||
''
|
||||
table.concat =
|
||||
'提供一個列表,其所有元素都是字串或數字,回傳字串 `list[i]..sep..list[i+1] ··· sep..list[j]`。'
|
||||
table.create =
|
||||
'建立一個新的空表,預先配置記憶體。當您預先知道表將有多少元素時,這種預先配置可能有助於效能和節省記憶體。參數 `nseq` 是表作為序列將有多少元素的提示。可選參數 `nrec` 是表將有多少其他元素的提示;預設值為零。'
|
||||
table.insert =
|
||||
'在 `list` 的位置 `pos` 處插入元素 `value`。'
|
||||
table.maxn =
|
||||
'回傳給定表的最大正數索引,如果表沒有正數索引,則回傳零。'
|
||||
table.move =
|
||||
[[
|
||||
將元素從表 `a1` 移到表 `a2`。
|
||||
```lua
|
||||
a2[t],··· =
|
||||
a1[f],···,a1[e]
|
||||
return a2
|
||||
```
|
||||
]]
|
||||
table.pack =
|
||||
'回傳用所有引數以鍵 `1`,`2`, 等填充的新表,並將 `"n"` 這個域設為引數的總數。'
|
||||
table.remove =
|
||||
'移除 `list` 中 `pos` 位置上的元素,並回傳這個被移除的值。'
|
||||
table.sort =
|
||||
'在表內從 `list[1]` 到 `list[#list]` *原地* 對其間元素按指定順序排序。'
|
||||
table.unpack =
|
||||
[[
|
||||
回傳列表中的元素。這個函式等價於
|
||||
```lua
|
||||
return list[i], list[i+1], ···, list[j]
|
||||
```
|
||||
i 預設為 1 , j 預設為 #list。
|
||||
]]
|
||||
table.foreach =
|
||||
'走訪表中的每一個元素,並以key和value執行回呼函式。如果回呼函式回傳一個非nil值則終止迴圈,並且回傳這個值。該函式等同pair(list),比pair(list)更慢,不推薦使用。'
|
||||
table.foreachi =
|
||||
'走訪表中的每一個元素,並以索引號index和value執行回呼函式。如果回呼函式回傳一個非nil值則終止迴圈,並且回傳這個值。該函式等同ipair(list),比ipair(list)更慢,不推薦使用。'
|
||||
table.getn =
|
||||
'回傳表的長度。該函式等價於#list。'
|
||||
table.new =
|
||||
[[這將建立一個預先確定大小的表,就像和 C API 等價的 `lua_createtable()` 一樣。如果已確定最終表的大小,而且自動更改大小很耗效能的話,這對大表很有用。 `narray` 參數指定像陣列般元素的數量,而 `nhash` 參數指定像雜湊般元素的數量。使用這個函式前需要先 require。
|
||||
```lua
|
||||
require("table.new")
|
||||
```
|
||||
]]
|
||||
table.clear =
|
||||
[[這會清除表中的所有的鍵值對,但保留分配的陣列或雜湊大小。當需要清除從多個位置連結的表,或回收表以供同一上下文使用時很有用。這避免了管理反向連結,節省了分配和增加陣列/雜湊部分而增長的開銷。使用這個函式前需要先 require。
|
||||
```lua
|
||||
require("table.clear")
|
||||
```
|
||||
請注意,此函式適用於非常特殊的情況。在大多數情況下,最好用新表替換(通常是單個)連結,並讓垃圾回收自行處理。
|
||||
]]
|
||||
|
||||
utf8 =
|
||||
''
|
||||
utf8.char =
|
||||
'接收零或多個整數,將每個整數轉換成對應的 UTF-8 位元組序列,並回傳這些序列連接到一起的字串。'
|
||||
utf8.charpattern =
|
||||
'用於精確配對到一個 UTF-8 位元組序列的模式,它假定處理的對象是一個合法的 UTF-8 字串。'
|
||||
utf8.codes =
|
||||
[[
|
||||
回傳一系列的值,可以讓
|
||||
```lua
|
||||
for p, c in utf8.codes(s) do
|
||||
body
|
||||
end
|
||||
```
|
||||
疊代出字串 `s` 中所有的字元。這裡的 `p` 是位置(按位元組數)而 `c` 是每個字元的編號。如果處理到一個不合法的位元組序列,將擲回一個錯誤。
|
||||
]]
|
||||
utf8.codepoint =
|
||||
'以整數形式回傳 `s` 中 從位置 `i` 到 `j` 間(包括兩端)所有字元的編號。'
|
||||
utf8.len =
|
||||
'回傳字串 `s` 中 從位置 `i` 到 `j` 間 (包括兩端) UTF-8 字元的個數。'
|
||||
utf8.offset =
|
||||
'回傳編碼在 `s` 中的第 `n` 個字元的開始位置(按位元組數)(從位置 `i` 處開始統計)。'
|
||||
utf8.offset['55'] =
|
||||
'以兩個整數回傳字串 `s` 中第 `n` 個字元的位置(從位元組位置 `i` 開始計數):其編碼開始的位元組索引與結束的位元組索引。'
|
||||
+1331
File diff suppressed because it is too large
Load Diff
+482
@@ -0,0 +1,482 @@
|
||||
---@diagnostic disable: undefined-global
|
||||
|
||||
config.addonManager.enable =
|
||||
"是否啟用延伸模組的附加插件管理器(Addon Manager)。"
|
||||
config.addonManager.repositoryBranch =
|
||||
"指定插件管理器(Addon Manager)使用的git branch。"
|
||||
config.addonManager.repositoryPath =
|
||||
"指定插件管理器(Addon Manager)使用的git path。"
|
||||
config.addonRepositoryPath =
|
||||
"指定獨立的插件倉庫路徑(與插件管理器無關)。"
|
||||
config.runtime.version =
|
||||
"Lua執行版本。"
|
||||
config.runtime.path =
|
||||
[[
|
||||
當使用 `require` 時,如何根據輸入的名字來尋找檔案。
|
||||
此選項設定為 `?/init.lua` 時,代表當你輸入 `require 'myfile'` 時,會從已載入的檔案中搜尋 `{workspace}/myfile/init.lua`。
|
||||
當 `runtime.pathStrict` 設定為 `false` 時,還會嘗試搜尋 `${workspace}/**/myfile/init.lua`。
|
||||
如果你想要載入工作區以外的檔案,你需要先設定 `Lua.workspace.library`。
|
||||
]]
|
||||
config.runtime.pathStrict =
|
||||
'啟用後 `runtime.path` 將只搜尋第一層目錄,見 `runtime.path` 的說明。'
|
||||
config.runtime.special =
|
||||
[[將自訂全域變數視為一些特殊的內建變數,語言伺服將提供特殊的支援。
|
||||
下面這個例子表示將 `include` 視為 `require` 。
|
||||
```json
|
||||
"Lua.runtime.special" : {
|
||||
"include" : "require"
|
||||
}
|
||||
```
|
||||
]]
|
||||
config.runtime.unicodeName =
|
||||
"允許在名字中使用 Unicode 字元。"
|
||||
config.runtime.nonstandardSymbol =
|
||||
"支援非標準的符號。請務必確認你的執行環境支援這些符號。"
|
||||
config.runtime.plugin =
|
||||
"延伸模組路徑,請查閱[文件](https://luals.github.io/wiki/plugins)瞭解用法。"
|
||||
config.runtime.pluginArgs =
|
||||
"延伸模組的額外引數。"
|
||||
config.runtime.fileEncoding =
|
||||
"檔案編碼,選項 `ansi` 只在 `Windows` 平台下有效。"
|
||||
config.runtime.builtin =
|
||||
[[
|
||||
調整內建庫的啟用狀態,你可以根據實際執行環境停用(或重新定義)不存在的庫。
|
||||
|
||||
* `default`: 表示庫會根據執行版本啟用或停用
|
||||
* `enable`: 總是啟用
|
||||
* `disable`: 總是停用
|
||||
]]
|
||||
config.runtime.meta =
|
||||
'meta檔案的目錄名稱格式'
|
||||
config.diagnostics.enable =
|
||||
"啟用診斷。"
|
||||
config.diagnostics.disable =
|
||||
"停用的診斷(使用浮框括號內的程式碼)。"
|
||||
config.diagnostics.globals =
|
||||
"已定義的全域變數。"
|
||||
config.diagnostics.globalsRegex =
|
||||
"使用正規表示式尋找全域變數。"
|
||||
config.diagnostics.severity =
|
||||
[[
|
||||
修改診斷等級。
|
||||
以 `!` 結尾的設定優先順序高於組設定 `diagnostics.groupSeverity`。
|
||||
]]
|
||||
config.diagnostics.neededFileStatus =
|
||||
[[
|
||||
* Opened: 只診斷打開的檔案
|
||||
* Any: 診斷所有檔案
|
||||
* None: 停用此診斷
|
||||
|
||||
以 `!` 結尾的設定優先順序高於組設定 `diagnostics.groupFileStatus`。
|
||||
]]
|
||||
config.diagnostics.groupSeverity =
|
||||
[[
|
||||
批次修改一個組中的診斷等級。
|
||||
設定為 `Fallback` 意味著組中的診斷由 `diagnostics.severity` 單獨設定。
|
||||
其他設定將覆蓋單獨設定,但是不會覆蓋以 `!` 結尾的設定。
|
||||
]]
|
||||
config.diagnostics.groupFileStatus =
|
||||
[[
|
||||
批次修改一個組中的檔案狀態。
|
||||
|
||||
* Opened: 只診斷打開的檔案
|
||||
* Any: 診斷所有檔案
|
||||
* None: 停用此診斷
|
||||
|
||||
設定為 `Fallback` 意味著組中的診斷由 `diagnostics.neededFileStatus` 單獨設定。
|
||||
其他設定將覆蓋單獨設定,但是不會覆蓋以 `!` 結尾的設定。
|
||||
]]
|
||||
config.diagnostics.workspaceEvent =
|
||||
"設定觸發工作區診斷的時機。"
|
||||
config.diagnostics.workspaceEvent.OnChange =
|
||||
"當檔案發生變化時觸發工作區診斷。"
|
||||
config.diagnostics.workspaceEvent.OnSave =
|
||||
"當儲存檔案時觸發工作區診斷。"
|
||||
config.diagnostics.workspaceEvent.None =
|
||||
"停用工作區診斷。"
|
||||
config.diagnostics.workspaceDelay =
|
||||
"進行工作區診斷的延遲(毫秒)。"
|
||||
config.diagnostics.workspaceRate =
|
||||
"工作區診斷的執行速率(百分比)。降低該值會減少CPU使用率,但是也會降低工作區診斷的速度。你目前正在編輯的檔案的診斷總是全速完成,不受該選項影響。"
|
||||
config.diagnostics.libraryFiles =
|
||||
"如何診斷透過 `Lua.workspace.library` 載入的檔案。"
|
||||
config.diagnostics.libraryFiles.Enable =
|
||||
"總是診斷這些檔案。"
|
||||
config.diagnostics.libraryFiles.Opened =
|
||||
"只有打開這些檔案時才會診斷。"
|
||||
config.diagnostics.libraryFiles.Disable =
|
||||
"不診斷這些檔案。"
|
||||
config.diagnostics.ignoredFiles =
|
||||
"如何診斷被忽略的檔案。"
|
||||
config.diagnostics.ignoredFiles.Enable =
|
||||
"總是診斷這些檔案。"
|
||||
config.diagnostics.ignoredFiles.Opened =
|
||||
"只有打開這些檔案時才會診斷。"
|
||||
config.diagnostics.ignoredFiles.Disable =
|
||||
"不診斷這些檔案。"
|
||||
config.diagnostics.disableScheme =
|
||||
'對使用以下 scheme 的 Lua 檔案不進行診斷。'
|
||||
config.diagnostics.validScheme =
|
||||
'對使用以下 scheme 的lua檔案啟用診斷。'
|
||||
config.diagnostics.unusedLocalExclude =
|
||||
'如果變數名符合以下規則,則不對其進行 `unused-local` 診斷。'
|
||||
config.workspace.ignoreDir =
|
||||
"忽略的檔案與目錄(使用 `.gitignore` 語法)。"
|
||||
config.workspace.ignoreSubmodules =
|
||||
"忽略子模組。"
|
||||
config.workspace.useGitIgnore =
|
||||
"忽略 `.gitignore` 中列舉的檔案。"
|
||||
config.workspace.maxPreload =
|
||||
"最大預先載入檔案數。"
|
||||
config.workspace.preloadFileSize =
|
||||
"預先載入時跳過大小大於該值(KB)的檔案。"
|
||||
config.workspace.library =
|
||||
"除了目前工作區以外,還會從哪些目錄中載入檔案。這些目錄中的檔案將被視作外部提供的程式碼庫,部分操作(如重新命名欄位)不會修改這些檔案。"
|
||||
config.workspace.checkThirdParty =
|
||||
[[
|
||||
自動偵測與適應第三方庫,目前支援的庫為:
|
||||
|
||||
* OpenResty
|
||||
* Cocos4.0
|
||||
* LÖVE
|
||||
* LÖVR
|
||||
* skynet
|
||||
* Jass
|
||||
]]
|
||||
config.workspace.userThirdParty =
|
||||
'在這裡添加私有的第三方庫適應檔案路徑,請參考內建的[組態檔案路徑](https://github.com/LuaLS/lua-language-server/tree/master/meta/3rd)'
|
||||
config.workspace.supportScheme =
|
||||
'為以下 `scheme` 的lua檔案提供語言伺服。'
|
||||
config.completion.enable =
|
||||
'啟用自動完成。'
|
||||
config.completion.callSnippet =
|
||||
'顯示函式呼叫片段。'
|
||||
config.completion.callSnippet.Disable =
|
||||
"只顯示 `函式名`。"
|
||||
config.completion.callSnippet.Both =
|
||||
"顯示 `函式名` 與 `呼叫片段`。"
|
||||
config.completion.callSnippet.Replace =
|
||||
"只顯示 `呼叫片段`。"
|
||||
config.completion.keywordSnippet =
|
||||
'顯示關鍵字語法片段。'
|
||||
config.completion.keywordSnippet.Disable =
|
||||
"只顯示 `關鍵字`。"
|
||||
config.completion.keywordSnippet.Both =
|
||||
"顯示 `關鍵字` 與 `語法片段`。"
|
||||
config.completion.keywordSnippet.Replace =
|
||||
"只顯示 `語法片段`。"
|
||||
config.completion.displayContext =
|
||||
"預覽建議的相關程式碼片段,可能可以幫助你瞭解這項建議的用法。設定的數字表示程式碼片段的擷取行數,設定為 `0` 可以停用此功能。"
|
||||
config.completion.workspaceWord =
|
||||
"顯示的上下文單詞是否包含工作區中其他檔案的內容。"
|
||||
config.completion.showWord =
|
||||
"在建議中顯示上下文單詞。"
|
||||
config.completion.showWord.Enable =
|
||||
"總是在建議中顯示上下文單詞。"
|
||||
config.completion.showWord.Fallback =
|
||||
"無法根據語義提供建議時才顯示上下文單詞。"
|
||||
config.completion.showWord.Disable =
|
||||
"不顯示上下文單詞。"
|
||||
config.completion.autoRequire =
|
||||
"輸入內容看起來像檔名時,自動 `require` 此檔案。"
|
||||
config.completion.maxSuggestCount =
|
||||
"自動完成時最多分析的欄位數量。若物件欄位超過此上限,必須提供更精確的輸入才會顯示建議。"
|
||||
config.completion.showParams =
|
||||
"在建議列表中顯示函式的參數資訊,函式擁有多個定義時會分開顯示。"
|
||||
config.completion.requireSeparator =
|
||||
"`require` 時使用的分隔符。"
|
||||
config.completion.postfix =
|
||||
"用於觸發後綴建議的符號。"
|
||||
config.color.mode =
|
||||
"著色模式。"
|
||||
config.color.mode.Semantic =
|
||||
"語義著色。你可能需要同時將 `editor.semanticHighlighting.enabled` 設定為 `true` 才能生效。"
|
||||
config.color.mode.SemanticEnhanced =
|
||||
"增強的語義顏色。類似於 `Semantic` ,但會進行額外的分析(也會帶來額外的開銷)。"
|
||||
config.color.mode.Grammar =
|
||||
"語法著色。"
|
||||
config.semantic.enable =
|
||||
"啟用語義著色。你可能需要同時將 `editor.semanticHighlighting.enabled` 設定為 `true` 才能生效。"
|
||||
config.semantic.variable =
|
||||
"對變數/欄位/參數進行語義著色。"
|
||||
config.semantic.annotation =
|
||||
"對類型註解進行語義著色。"
|
||||
config.semantic.keyword =
|
||||
"對關鍵字/字面常數/運算子進行語義著色。只有當你的編輯器無法進行語法著色時才需要啟用此功能。"
|
||||
config.signatureHelp.enable =
|
||||
"啟用參數提示。"
|
||||
config.hover.enable =
|
||||
"啟用懸浮提示。"
|
||||
config.hover.viewString =
|
||||
"懸浮提示檢視字串內容(僅當字面常數包含跳脫字元時)。"
|
||||
config.hover.viewStringMax =
|
||||
"懸浮提示檢視字串內容時的最大長度。"
|
||||
config.hover.viewNumber =
|
||||
"懸浮提示檢視數字內容(僅當字面常數不是十進制時)。"
|
||||
config.hover.fieldInfer =
|
||||
"懸浮提示檢視表時,會對表的每個欄位進行類型推測,當類型推測的用時累計達到該設定值(毫秒)時,將跳過後續欄位的類型推測。"
|
||||
config.hover.previewFields =
|
||||
"懸浮提示檢視表時,限制表內欄位的最大預覽數量。"
|
||||
config.hover.enumsLimit =
|
||||
"當值對應多個類型時,限制類型的顯示數量。"
|
||||
config.hover.expandAlias =
|
||||
[[
|
||||
是否展開別名。例如 `---@alias myType boolean|number` 展開後顯示為 `boolean|number`,否則顯示為 `myType`'。
|
||||
]]
|
||||
config.develop.enable =
|
||||
'開發者模式。請勿開啟,會影響效能。'
|
||||
config.develop.debuggerPort =
|
||||
'除錯器監聽埠。'
|
||||
config.develop.debuggerWait =
|
||||
'除錯器連接之前懸置。'
|
||||
config.intelliSense.searchDepth =
|
||||
'設定智慧感知的搜尋深度。增大該值可以增加準確度,但會降低效能。不同的工作區對該設定的容忍度差異較大,請自己調整為合適的值。'
|
||||
config.intelliSense.fastGlobal =
|
||||
'在對全域變數進行補全,及檢視 `_G` 的懸浮提示時進行最佳化。這會略微降低類型推測的準確度,但是對於大量使用全域變數的專案會有大幅的效能提升。'
|
||||
config.window.statusBar =
|
||||
'在狀態欄顯示延伸模組狀態。'
|
||||
config.window.progressBar =
|
||||
'在狀態欄顯示進度條。'
|
||||
config.hint.enable =
|
||||
'啟用內嵌提示。'
|
||||
config.hint.paramType =
|
||||
'在函式的參數位置提示類型。'
|
||||
config.hint.setType =
|
||||
'在賦值操作位置提示類型。'
|
||||
config.hint.paramName =
|
||||
'在函式呼叫處提示參數名。'
|
||||
config.hint.paramName.All =
|
||||
'所有類型的參數均進行提示。'
|
||||
config.hint.paramName.Literal =
|
||||
'只有字面常數類型的參數進行提示。'
|
||||
config.hint.paramName.Disable =
|
||||
'停用參數提示。'
|
||||
config.hint.arrayIndex =
|
||||
'在建構表時提示陣列索引。'
|
||||
config.hint.arrayIndex.Enable =
|
||||
'所有的表中都提示陣列索引。'
|
||||
config.hint.arrayIndex.Auto =
|
||||
'只有表大於3項,或者表是混合類型時才進行提示。'
|
||||
config.hint.arrayIndex.Disable =
|
||||
'停用陣列索引提示。'
|
||||
config.hint.await =
|
||||
'如果呼叫的函式被標記為了 `---@async`,則在呼叫處提示 `await`。'
|
||||
config.hint.awaitPropagate =
|
||||
'啟用 `await` 的傳播,當一個函式呼叫了一個 `---@async` 標記的函式時,會自動標記為 `---@async`。'
|
||||
config.hint.semicolon =
|
||||
'若陳述式尾部沒有分號,則顯示虛擬分號。'
|
||||
config.hint.semicolon.All =
|
||||
'所有陳述式都顯示虛擬分號。'
|
||||
config.hint.semicolon.SameLine =
|
||||
'兩個陳述式在同一行時,在它們之間顯示分號。'
|
||||
config.hint.semicolon.Disable =
|
||||
'停用虛擬分號。'
|
||||
config.codeLens.enable =
|
||||
'啟用CodeLens。'
|
||||
config.format.enable =
|
||||
'啟用程式碼格式化程式。'
|
||||
config.format.defaultConfig =
|
||||
[[
|
||||
預設的格式化組態,優先順序低於工作區內的 `.editorconfig` 檔案。
|
||||
請查閱[格式化文件](https://github.com/CppCXY/EmmyLuaCodeStyle/tree/master/docs)了解用法。
|
||||
]]
|
||||
config.spell.dict =
|
||||
'拼寫檢查的自訂單詞。'
|
||||
config.nameStyle.config =
|
||||
[[
|
||||
設定檢查命名風格的組態。
|
||||
閱讀 [formatter docs](https://github.com/CppCXY/EmmyLuaCodeStyle/tree/master/docs) 了解用法。
|
||||
]]
|
||||
config.telemetry.enable =
|
||||
[[
|
||||
啟用遙測,透過網路發送你的編輯器資訊與錯誤日誌。在[此處](https://luals.github.io/privacy/#language-server)閱讀我們的隱私聲明。
|
||||
]]
|
||||
config.misc.parameters =
|
||||
'VSCode內啟動語言伺服時的[命令列參數](https://luals.github.io/wiki/usage#arguments)。'
|
||||
config.misc.executablePath =
|
||||
'指定VSCode內的可執行文件'
|
||||
config.language.fixIndent =
|
||||
'(僅限VSCode)修復自動縮排錯誤,例如在有包含 "function" 的字串中換行時出現的錯誤縮排。'
|
||||
config.language.completeAnnotation =
|
||||
'(僅限VSCode)在註解後換行時自動插入 "---@ "。'
|
||||
config.type.castNumberToInteger =
|
||||
'允許將 `number` 類型賦值給 `integer` 類型。'
|
||||
config.type.weakUnionCheck =
|
||||
[[
|
||||
同位類型中只要有一個子類型滿足條件,則同位類型也滿足條件。
|
||||
|
||||
此設定為 `false` 時,`number|boolean` 類型無法賦值給 `number` 類型;為 `true` 時則可以。
|
||||
]]
|
||||
config.type.weakNilCheck =
|
||||
[[
|
||||
對同位類型進行類型檢查時,忽略其中的 `nil`。
|
||||
|
||||
此設定為 `false` 時,`number|boolean` 類型無法賦值給 `number` 類型;為 `true` 時則可以。
|
||||
]]
|
||||
config.type.inferParamType =
|
||||
[[
|
||||
未註解參數類型時,參數類型由函式傳入參數推斷。
|
||||
|
||||
如果設定為 "false",則在未註解時,參數類型為 "any"。
|
||||
]]
|
||||
config.type.checkTableShape =
|
||||
[[
|
||||
對表的形狀進行嚴格檢查。
|
||||
]]
|
||||
config.type.inferTableSize =
|
||||
'在類型推斷時最多分析的表欄位數。'
|
||||
config.doc.privateName =
|
||||
'將特定名稱的欄位視為private,例如 `m_*` 代表 `XXX.m_id` 和 `XXX.m_type` 會是私有層級,只能在定義所在的類別內存取'
|
||||
config.doc.protectedName =
|
||||
'將特定名稱的欄位視為protected,例如 `m_*` 代表 `XXX.m_id` 和 `XXX.m_type` 會是保護層級,只能在定義所在的類別和其子類別內存取'
|
||||
config.doc.packageName =
|
||||
'將特定名稱的欄位視為package,例如 `m_*` 代表 `XXX.m_id` 和 `XXX.m_type` 只能在定義所在的檔案內存取'
|
||||
config.doc.regengine =
|
||||
'用於匹配文件作用域名稱的正則表達式引擎。'
|
||||
config.doc.regengine.glob =
|
||||
'預設的輕量模式語法。'
|
||||
config.doc.regengine.lua =
|
||||
'完整的 Lua 風格正則表達式。'
|
||||
config.docScriptPath =
|
||||
'用於匹配文件作用域名稱的正則表達式引擎。'
|
||||
config.diagnostics['unused-local'] =
|
||||
'未使用的區域變數'
|
||||
config.diagnostics['unused-function'] =
|
||||
'未使用的函式'
|
||||
config.diagnostics['undefined-global'] =
|
||||
'未定義的全域變數'
|
||||
config.diagnostics['global-in-nil-env'] =
|
||||
'不能使用全域變數( `_ENV` 被設定為 `nil`)'
|
||||
config.diagnostics['unused-label'] =
|
||||
'未使用的標籤'
|
||||
config.diagnostics['unused-vararg'] =
|
||||
'未使用的不定引數'
|
||||
config.diagnostics['trailing-space'] =
|
||||
'後置空格'
|
||||
config.diagnostics['redefined-local'] =
|
||||
'重複定義的區域變數'
|
||||
config.diagnostics['newline-call'] =
|
||||
'以 `(` 開始的新行,在語法上被解析為了上一行的函式呼叫'
|
||||
config.diagnostics['newfield-call'] =
|
||||
'在字面常數表中,2行程式碼之間缺少分隔符,在語法上被解析為了一次索引操作'
|
||||
config.diagnostics['redundant-parameter'] =
|
||||
'函式呼叫時,傳入了多餘的引數'
|
||||
config.diagnostics['ambiguity-1'] =
|
||||
'優先順序歧義,如: `num or 0 + 1` ,推測使用者的實際期望為 `(num or 0) + 1`'
|
||||
config.diagnostics['lowercase-global'] =
|
||||
'首字母小寫的全域變數定義'
|
||||
config.diagnostics['undefined-env-child'] =
|
||||
'`_ENV` 被設定為了新的字面常數表,但是試圖獲取的全域變數不在這張表中'
|
||||
config.diagnostics['duplicate-index'] =
|
||||
'在字面常數表中重複定義了索引'
|
||||
config.diagnostics['empty-block'] =
|
||||
'空程式碼區塊'
|
||||
config.diagnostics['redundant-value'] =
|
||||
'賦值操作時,值的數量比被賦值的對象多'
|
||||
config.diagnostics['assign-type-mismatch'] =
|
||||
'賦值類型與變數類型不符合'
|
||||
config.diagnostics['await-in-sync'] =
|
||||
'同步函式中呼叫非同步函式'
|
||||
config.diagnostics['cast-local-type'] =
|
||||
'已顯式定義變數類型不符合要定義的值的類型'
|
||||
config.diagnostics['cast-type-mismatch'] =
|
||||
'變數被轉換為不符合其初始類型的類型'
|
||||
config.diagnostics['circular-doc-class'] =
|
||||
'兩個類別互相繼承、循環'
|
||||
config.diagnostics['close-non-object'] =
|
||||
'嘗試關閉非物件變數'
|
||||
config.diagnostics['code-after-break'] =
|
||||
'迴圈內break陳述式後的程式碼'
|
||||
config.diagnostics['codestyle-check'] =
|
||||
'行的格式不正確'
|
||||
config.diagnostics['count-down-loop'] =
|
||||
'因為 `for` 迴圈是遞增而不是遞減,所以不會到達上限/極限'
|
||||
config.diagnostics['deprecated'] =
|
||||
'API已標記deprecated(棄用)但仍在使用'
|
||||
config.diagnostics['different-requires'] =
|
||||
'required的同一個檔案使用了兩個不同的名字'
|
||||
config.diagnostics['discard-returns'] =
|
||||
'忽略了標註為 `@nodiscard` 的函式的回傳值'
|
||||
config.diagnostics['doc-field-no-class'] =
|
||||
'向沒有標註 `@class` 的類別標註 `@field` 欄位'
|
||||
config.diagnostics['duplicate-doc-alias'] =
|
||||
'`@alias` 標註名字衝突'
|
||||
config.diagnostics['duplicate-doc-field'] =
|
||||
'`@field` 標註名字衝突'
|
||||
config.diagnostics['duplicate-doc-param'] =
|
||||
'`@param` 標註名字衝突'
|
||||
config.diagnostics['duplicate-set-field'] =
|
||||
'在類別中多次定義相同的欄位'
|
||||
config.diagnostics['incomplete-signature-doc'] =
|
||||
'`@param` 或 `@return` 不完整'
|
||||
config.diagnostics['invisible'] =
|
||||
'嘗試存取不可見的欄位'
|
||||
config.diagnostics['missing-global-doc'] =
|
||||
'全域變數缺少標註(全域函式必須為所有參數和回傳值提供標註)'
|
||||
config.diagnostics['missing-local-export-doc'] =
|
||||
'匯出的區域函式缺少標註(匯出的區域函式、所有的參數和回傳值都必須有標註)'
|
||||
config.diagnostics['missing-parameter'] =
|
||||
'函式呼叫的引數數量比函式標註的參數數量少'
|
||||
config.diagnostics['missing-return'] =
|
||||
'函式有 `@return` 標註卻沒有 `return` 陳述式'
|
||||
config.diagnostics['missing-return-value'] =
|
||||
'函式沒有回傳值,但使用了 `@return` 標註了回傳值'
|
||||
config.diagnostics['need-check-nil'] =
|
||||
'變數曾被賦值為 `nil` 或可選值(可能是 `nil` )'
|
||||
config.diagnostics['unnecessary-assert'] =
|
||||
'對始終為true的陳述式的冗餘斷言'
|
||||
config.diagnostics['no-unknown'] =
|
||||
'無法推斷變數的未知類型'
|
||||
config.diagnostics['not-yieldable'] =
|
||||
'不允許呼叫 `coroutine.yield()`'
|
||||
config.diagnostics['param-type-mismatch'] =
|
||||
'給定參數的類型不符合函式定義所要求的類型( `@param` )'
|
||||
config.diagnostics['redundant-return'] =
|
||||
'放了一個不需要的 `return` 陳述式,因為函式會自行退出'
|
||||
config.diagnostics['redundant-return-value']=
|
||||
'回傳了 `@return` 標註未指定的額外值'
|
||||
config.diagnostics['return-type-mismatch'] =
|
||||
'回傳值的類型不符合 `@return` 中宣告的類型'
|
||||
config.diagnostics['spell-check'] =
|
||||
'字串拼寫檢查'
|
||||
config.diagnostics['name-style-check'] =
|
||||
'變數命名風格檢查'
|
||||
config.diagnostics['unbalanced-assignments']=
|
||||
'多重賦值時沒有賦值所有變數(如 `local x,y = 1` )'
|
||||
config.diagnostics['undefined-doc-class'] =
|
||||
'在 `@class` 標註中引用未定義的類別。'
|
||||
config.diagnostics['undefined-doc-name'] =
|
||||
'在 `@type` 標註中引用未定義的類型或 `@alias`'
|
||||
config.diagnostics['undefined-doc-param'] =
|
||||
'在 `@param` 標註中引用函式定義未宣告的參數'
|
||||
config.diagnostics['undefined-field'] =
|
||||
'讀取變數中為定義的欄位'
|
||||
config.diagnostics['unknown-cast-variable'] =
|
||||
'使用 `@cast` 對未定義的變數進行強制轉換'
|
||||
config.diagnostics['unknown-diag-code'] =
|
||||
'輸入了未知的診斷'
|
||||
config.diagnostics['unknown-operator'] =
|
||||
'未知的運算子'
|
||||
config.diagnostics['unreachable-code'] =
|
||||
'無法到達的程式碼'
|
||||
config.diagnostics['global-element'] =
|
||||
'對全域元素的警告'
|
||||
config.typeFormat.config =
|
||||
'寫Lua程式碼時的格式化組態'
|
||||
config.typeFormat.config.auto_complete_end =
|
||||
'是否在合適的位置自動完成 `end`'
|
||||
config.typeFormat.config.auto_complete_table_sep =
|
||||
'是否在宣告表的結尾自動添加分隔符號'
|
||||
config.typeFormat.config.format_line =
|
||||
'是否格式化某一行'
|
||||
|
||||
command.exportDocument =
|
||||
'Lua:輸出文件…'
|
||||
command.addon_manager.open =
|
||||
'Lua:打開插件管理器(Addon Manager)…'
|
||||
command.reloadFFIMeta =
|
||||
'Lua:重新生成luajit的FFI模組C語言中繼資料'
|
||||
command.startServer =
|
||||
'Lua:(除錯)重新啟動語言伺服'
|
||||
command.stopServer =
|
||||
'Lua:(除錯)停止語言伺服'
|
||||
Reference in New Issue
Block a user