Lua - 獲取表中的條目



雖然我們可以使用許多函式和運算子來獲取 Lua 中特定表中整數條目的數量,但沒有定義的方法或函式適用於包含非同質資料型別的表。

讓我們考慮一個簡單的表,其中儲存了整數值,然後我們將使用兩種最常見的方法來查詢該表中的條目數。

示例

請考慮以下示例:

main.lua

t = {}
t[1] = 1
t[2] = 2
t[3] = 3
t[4] = 4
print(#t)

輸出

4

但是,讓我們考慮一下表中資料不是同質資料,而是不同資料型別的情況,在這種情況下,# 運算子將導致不一致。

示例

請考慮以下示例:

main.lua

t = {}
t["yes"] = 1
t[1] = 1
t[2] = 2
t[3] = 3
print(#t)

輸出

3

我們可以清楚地看到,輸出導致了不一致,因此我們別無選擇,只能編寫自己的函式來計算表中存在的條目數。

示例

請考慮以下程式碼:

main.lua

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
廣告
© . All rights reserved.