Table.remove (Lua): различия между версиями

Материал из UoPilot
Перейти к навигации Перейти к поиску
(Новая страница: «== Описание == '''table.remove''' - удаляет из массива элемент в указанной позиции. Оставшиеся элем...»)
 
 
Строка 4: Строка 4:
 
== Синтаксис ==
 
== Синтаксис ==
 
Привязка к окну: Нет.
 
Привязка к окну: Нет.
<br>Работа со свернутым окном: Да.
+
<br>Работа со свернутым окном: Да.
&lt;br>Все параметры заключаются в скобки и разделяются запятыми.
+
<br>Все параметры заключаются в скобки и разделяются запятыми.
  table.remove (&lt;array> [, pos])
+
  table.remove (<array> [, pos])
 
Где:
 
Где:
&lt;br>'''&lt;array>''' - массив, в котором требуется удалить элемент.
+
<br>'''<array>''' - массив, в котором требуется удалить элемент.
&lt;br>'''[pos,]''' - из какой позиции удалять. Необязательный параметр, если не указан удаляет последний элемент.
+
<br>'''[pos,]''' - из какой позиции удалять. Необязательный параметр, если не указан удаляет последний элемент.
  
 
== Примеры ==
 
== Примеры ==
Строка 124: Строка 124:
  
 
[[table.insert (Lua)]]
 
[[table.insert (Lua)]]
&lt;br>[[table.concat (Lua)]]
+
<br>[[table.concat (Lua)]]
&lt;br>[[table.sort (Lua)]]
+
<br>[[table.sort (Lua)]]
&lt;br>[[table.maxn (Lua)]]
+
<br>[[table.maxn (Lua)]]
&lt;br>[[unpack (Lua)]]
+
<br>[[unpack (Lua)]]

Текущая версия на 11:24, 28 августа 2019

Описание

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)