Ошибка attempt to index local 'b' (a number value)

RedHolms

Известный
Автор темы
Проверенный
619
366
Версия MoonLoader
.026-beta
Где появляется ошибка:
Lua:
for b in pairs(binders_list) do
    imgui.Text(b.name)
end

Определение списка:
Lua:
local binders_list = {
    {
        id=1,
        name="TEST_BIND",
        activate_type=1,
        activate="test",
        params_amount=2,
        bind="Шла саша по шоссе и сосала сушку1"
    },
    {
        id=2,
        name="2test",
        activate_type=0,
        activate=vkeys.VK_B,
        params_amount=2,
        bind="Шла саша по шоссе и сосала сушку2"
    }
}

Объясните тупому новичку(мне), в чем ошибся и как её решить
 
Решение
Lua:
for _, b in pairs(binders_list) do
    imgui.Text(b.name)
end

pairs(binders_list) возвращает два значения: ключ (в твоём случае порядковый номер элемента) и сам элемент массива. Поэтому нужно указывать две переменные, в которые будет сохраняться ключ и само значение.

Letovo

Участник
95
12
Lua:
for _, b in pairs(binders_list) do
    imgui.Text(b.name)
end

pairs(binders_list) возвращает два значения: ключ (в твоём случае порядковый номер элемента) и сам элемент массива. Поэтому нужно указывать две переменные, в которые будет сохраняться ключ и само значение.
 
  • Нравится
Реакции: RedHolms