簡體   English   中英

如何停止計數列表中的 nil 值

[英]How to stop nil values in a list being counted

我有一個函數,如果為真,則返回"Match" ,否則為nil 我需要知道列表中"Match"的值的數量(因此在我的函數中使用nil作為另一個值)。

someList = {"gdj", nil, "jdis"}

print(#someList) --> 3

我的起源問題在這里是否有我應該返回的東西而不是零!

#運算符以一種相當奇怪的方式定義; 它將計數,直到非空元素之一 在您的情況下,它也完全有可能返回1 這是因為Lua 並不真正支持在表中存儲 nils

因此,沒有確定的方法來迭代這樣的表,除非您知道它的大小並且可以自己停止迭代。

最好存儲一個專用的“假”值,然后簡單地使用ipairs手動迭代和計數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM