Evgen Опубликовано 24 августа Поделиться Опубликовано 24 августа Расскажите про эти штуки, из документации по луа не до конца понял про разницу. Сейчас работаю только с pairs, не пойму зачем нужен ipairs? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Noise PC Опубликовано 25 августа Поделиться Опубликовано 25 августа (изменено) Что такое 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 → словари, смешанные таблицы, «дырявые» массивы. Изменено 25 августа пользователем Noise PC Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.