Просто потому, что это не так.
Пожалуйста, обратитесь к table.insert
и table.remove
Справочного руководства Lua.Это для Lua 5.1, если вы используете другую версию, тогда вы сможете легко найти нужную.
Вы можете перемещать элементы между таблицами следующим образом:
a = {}
table.insert(a, table.remove(tab)) -- From tab into a
...
table.insert(tab, table.remove(a)) -- From a into tab
Возможно, вам понадобитсячтобы проверить значение, возвращаемое remove
:
local foo = table.remove(tab)
if type(foo) ~= "nil" then
table.insert(a, foo)
end
Обратите внимание, что позиция по умолчанию для remove
является последним элементом таблицы, а позиция по умолчанию для insert
- после последнего элемента таблицы.Управление аргументом pos
либо insert
, либо remove
может позволить вам реализовать различные варианты поведения.
Например, если вы хотите получить более похожее на прокрутку поведение (то, которое вы просили в предыдущем, теперь удалено, вопрос):
a = {}
local foo = table.remove(tab, 1)
if type(foo) ~= "nil" then table.insert(a, foo) end -- From tab into a
...
local bar = table.remove(a, 1)
if type(bar) ~= "nil" then table.insert(tab, bar) end -- From a into tab