Как удалить элемент массива в lua?

Пользователь

от fred , в категории: Другие , 2 года назад

Как удалить элемент массива в lua?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от dmitrypro77 , 2 года назад

@fred Используйте table.remove() или просто назначьте значение элемента nil чтобы удалить элемент из массива в Lua, ниже пример кода как пример:


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
list = {}

table.insert(list, "тест")
table.insert(list, "тест 2")
-- Удалить элемент из массива
table.remove(list, 1)

for i,v in pairs(list) do print(i,v) end
-- Вывод: test 2

-- Лучше способ чтобы удалить элемент из таблицы
list[1] = nil
for i,v in pairs(list) do print(i,v) end

-- Вывод: 0
print(#list)
Всегда открыт для интересных проектов. Ссылки на мои соц. сети в профиле.

Пользователь

от maya , 10 месяцев назад

@fred 

В Lua можно удалить элемент массива путем присвоения ему значения nil. Например, чтобы удалить элемент массива с индексом i, можно использовать следующий код:

1
myArray[i] = nil


После выполнения этой операции элемент массива с индексом i будет удален. Обратите внимание, что это не изменит длину массива, поэтому для удаления элемента и уменьшения длины массива необходимо использовать функции table.remove или table.pack.