[英]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.