я наткнулся на странное поведение в Lua функцию распаковкиLua unpack bug?
table1 = {true, nil, true, false, nil, true, nil}
table2 = {true, false, nil, false, nil, true, nil}
a1,b1,c1,d1,e1,f1,g1 = unpack(table1)
print ("table1:",a1,b1,c1,d1,e1,f1,g1)
a2,b2,c2,d2,e2,f2,g2 = unpack(table2)
print ("table2:",a2,b2,c2,d2,e2,f2,g2)
Выход:
table1: true nil true false nil nil nil
table2: true false nil nil nil nil nil
Второй распаковывать обеспечивает параметры до первого значения ноль. Я мог бы жить с этим. Первая таблица обеспечивает 4? параметры с одним, равным нулю в середине. Он имеет 4 параметра, которые не ноль, но они не показаны.
Может ли это объяснить это? Это пытались с codepad.org и Lua 5,1
Спасибо, ты спас мой день. Означает ли это, что table.maxn() перемещает весь выделенный размер таблицы? – Geggamojja
table.maxn() «Возвращает наибольший положительный числовой индекс данной таблицы» см. Http://www.lua.org/manual/5.1/manual.html#pdf-table.maxn – gwell
is table.maxn действительно гарантированно верните правильное значение (= количество объектов в литературе таблицы) здесь? – u0b34a0f6ae