pairs और ipairs से Iteration
ipairs arrays को order में walk करता है, और pairs एक table में हर key visit करता है।
In this page:
pairs और ipairs से Iterate करना
ipairs(t) keys 1, 2, 3 वगैरह पर iterate करता है और पहले nil पर रुक जाता है। pairs(t) हर key और value visit करता है, किसी guaranteed order में नहीं। Sequences के लिए ipairs और dictionaries के लिए pairs इस्तेमाल करें, और iterate करते वक्त एक table में नई keys add न करें।
Note:
अगर आपको pairs से एक stable printing order चाहिए तो पहले keys sort करें।
उदाहरण: Iterating with pairs and ipairs
local list = {"a", "b", nil, "d"}
for i, v in ipairs(list) do print(i, v) end
local ages = {ann = 30, bob = 25, cid = 41}
local keys = {}
for k in pairs(ages) do keys[#keys + 1] = k end
table.sort(keys)
for _, k in ipairs(keys) do print(k, ages[k]) end
-- Output:
-- 1 a
-- 2 b
-- ann 30
-- bob 25
-- cid 41
Login to try C/C++/Java/PHP code in the editor
आम गलतियां
- यह उम्मीद करना कि pairs insertion order में keys return करेगा
- holes वाली एक table पर ipairs इस्तेमाल करना और जल्दी रुक जाना
- एक pairs loop के अंदर नई keys add करना
चैप्टर सारांश
- ipairs nil तक 1..n जाता है
- pairs सारी keys visit करता है
- pairs order defined नहीं है
- iterate करते वक्त keys add न करें
🔒
Chapter Quiz — Complete all 7 topics to unlock
0/7 topics done
Complete these topics first: