Table.remove (Lua)
Перейти к навигации
Перейти к поиску
Содержание
Описание
table.remove - удаляет из массива элемент в указанной позиции. Оставшиеся элементы будут сдвинуты и изменится размерность массива. Если позиция не указана удаляет последний элемент.
Синтаксис
Привязка к окну: Нет.
Работа со свернутым окном: Да.
Все параметры заключаются в скобки и разделяются запятыми.
table.remove (<array> [, pos])
Где:
<array> - массив, в котором требуется удалить элемент.
[pos,] - из какой позиции удалять. Необязательный параметр, если не указан удаляет последний элемент.
Примеры
--lua
local arr = {}
arr [1] = "Один"
arr [2] = "Два"
arr [3] = "Три"
arr [4] = "Четыре"
log ("clear") log ("mode compact")
log (unpack(arr)) -- вывод массива в лог
table.remove(arr) -- удалить последний элемент массива
log (unpack(arr)) -- вывод массива в лог
--lua
-- удаление указанного элемента массива
local arr = {[1] = "Один", [2] = "Два", [3] = "Три", [4] = "Четыре"} -- индексы можно не указывать
-- arr = {"Один", "Два", "Три", "Четыре"} -- это тоже самое
log ("clear") log ("mode compact") -- очистить лог, компактный режим
log (table.concat(arr, " ")) -- вывод массива в лог
table.remove(arr, 2) -- удалить 2й элемент массива
log (table.concat(arr, " "))
--lua
local arr = {}
log ("clear") log ("mode compact")
table.insert(arr, {1, 2, 3})
table.insert(arr, {4, 5, 6})
table.insert(arr, {7, 8, 9})
-- вывод массива в лог
for i = 1, #arr do
log (table.concat(arr[i], " "))
end
log ()
table.remove (arr[2], 1) -- удалить элемент arr[2][1]
-- вывод массива в лог
for i = 1, #arr do
log (table.concat(arr[i], " "))
end
--lua
local arr = {}
log ("clear") log ("mode compact")
table.insert(arr, {1, 2, 3})
table.insert(arr, {4, 5, 6})
table.insert(arr, {7, 8, 9})
-- вывод массива в лог
for i = 1, #arr do
log (table.concat(arr[i], " "))
end
log ()
table.remove (arr, 2) -- удалить 2-й элемент массива 'arr', при этом оставшиеся будут сдвинуты и размер массива изменится
-- вывод массива в лог
for i = 1, #arr do
log (table.concat(arr[i], " "))
end
--lua
local arr = {}
log ("clear") log ("mode compact")
table.insert(arr, {1, 2, 3})
table.insert(arr, {4, 5, 6})
table.insert(arr, {7, 8, 9})
-- вывод массива в лог
for i = 1, #arr do
log (table.concat(arr[i], " "))
end
log ()
-- удалить все элементы, которые содержит arr[2], в отличие от примера выше, размер массива не изменится
-- т. к. удаляется не сам элемент массива arr[2], а то что он содержит
for i = 1, #arr[2] do
table.remove (arr[2])
end
-- вывод массива в лог
for i = 1, #arr do
log (table.concat(arr[i], " "))
end
--lua
local arr = {}
log ("clear") log ("mode compact")
table.insert(arr, {1, 2, 3})
table.insert(arr, {4, 5, 6})
table.insert(arr, {7, 8, 9})
-- вывод массива в лог
for i = 1, #arr do
log (table.concat(arr[i], " "))
end
log ()
-- удалить из каждого элемента массива 'arr' 2й элемент
for i = 1, #arr do
table.remove (arr[i], 2)
end
-- вывод массива в лог
for i = 1, #arr do
log (table.concat(arr[i], " "))
end
Смотрите также
table.insert (Lua)
table.concat (Lua)
table.sort (Lua)
table.maxn (Lua)
unpack (Lua)