यह निर्धारित करने का सबसे कारगर तरीका है कि क्या कोई तालिका खाली है (यानी, वर्तमान में न तो सरणी-शैली मान और न ही तानाशाही-शैली मूल्य)।
वर्तमान में, मैं उपयोग कर रहा हूँ next()
:
if not next(myTable) then
-- Table is empty
end
क्या कोई अधिक कुशल तरीका है?
नोट: #
ऑपरेटर यहां पर्याप्त नहीं है, क्योंकि यह केवल तालिका में सरणी-शैली मानों पर काम करता है - इस प्रकार #{test=2}
से अप्रभेद्य है #{}
क्योंकि दोनों वापस लौटते हैं। 0. यह भी ध्यान दें कि यदि तालिका चर nil
नहीं है, तो यह देख लें कि मैं नहीं देख रहा हूँ शून्य मान, बल्कि 0 प्रविष्टियाँ (यानी {}
) के साथ तालिकाएँ ।
false
एक अपेक्षित कुंजी नहीं होगी इसलिएif not
काम ठीक है, लेकिन मैं शायदnil
भविष्य में इसके बजाय एक अच्छी आदत के रूप में तुलना करने की आदत डालूंगा। और हां, मैं स्पीड के लिए आम यूटिलिटी फंक्शन्स को लोकल वर्जन में बांध रहा हूं। वैसे, इनपुट के लिए धन्यवाद।