Evgen Posted August 24, 2025 Share Posted August 24, 2025 Расскажите про эти штуки, из документации по луа не до конца понял про разницу. Сейчас работаю только с pairs, не пойму зачем нужен ipairs? Quote Link to comment Share on other sites More sharing options...
Noise PC Posted August 25, 2025 Share Posted August 25, 2025 (edited) Что такое pairs Общий итератор для таблиц. Обходит все ключи, порядок не гарантирован. Пример кода: t = { a = 1, b = 2, [3] = "hello" } for k, v in pairs(t) do print(k, v) end Что такое ipairs Итератор для «массива» (числовые последовательные индексы от 1). Останавливается на первом nil. Пример кода: t = { "one", "two", "three" } for i, v in ipairs(t) do print(i, v) end Важный момент: «дыры» в массивах t = { "one", nil, "three" } for i, v in ipairs(t) do print(i, v) end ipairs остановится на первом nil. pairs обойдёт все ключи. Когда использовать ipairs → строго массивы, без пропусков. pairs → словари, смешанные таблицы, «дырявые» массивы. Edited August 25, 2025 by Noise PC Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.