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