Table.remove (Lua)
Версия от 11:24, 28 августа 2019; Tatikoma (обсуждение | вклад)
Содержание
Описание
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)