如何在 Lua 表格中獲取條目數量?
雖然有很多函式和運算子可以用來獲取 Lua 中特定表格中整數條目的數量,但沒有定義的方法或函式適用於包含非同質資料型別的表格。
讓我們考慮一個簡單的表格,其中儲存了整數值,然後我們將使用兩種最常見的方法來查詢該表格中的條目數量。
示例
請考慮以下示例 -
t = {} t[1] = 1 t[2] = 2 t[3] = 3 t[4] = 4 print(#t)
輸出
4
但是,讓我們考慮這樣一種情況:表格中包含非同質資料,而不是同質資料,在這種情況下,# 運算子將導致不一致。
示例
請考慮以下示例 -
t = {} t["yes"] = 1 t[1] = 1 t[2] = 2 t[3] = 3 print(#t)
輸出
3
我們可以清楚地看到,輸出導致了不一致,因此我們別無選擇,只能編寫我們自己的函式來計算表格中存在的條目數量。
示例
請考慮以下程式碼 -
t = {} t["yes"] = 1 t[1] = 1 t[2] = 2 t[3] = 3 print(#t) function tablelength(T) local count = 0 for _ in pairs(T) do count = count + 1 end return count end print(tablelength(t))
輸出
3 4
廣告