Вопросы с тегом 'lua-table'

Этот тег относится к типу таблицы в Lua, который реализует ассоциативные массивы.
7

Самый эффективный способ определить, является ли таблица Lua пустой (не содержит записей)?

Какой наиболее эффективный способ определить, является ли таблица пустой (то есть в настоящее время не содержит значений типа массива или значений стиля dict)? В настоящее время я использую next(): if not next(myTable) then -- Table is empty e...
09 авг. '09 в 22:56
9

Почему Lua массивы (таблицы) начинаются с 1 вместо 0?

Я не понимаю рационального решения этой части Луа. Почему индексирование начинается с 1? Я прочитал (как и многие другие) эту замечательную статью. Мне кажется странным уголком языка, который очень приятно учиться и программировать. Не поймите меня н...
07 мая '10 в 1:52
4

Как проверить, содержит ли таблица элемент в Lua?

Есть ли способ проверить, содержит ли таблица значение? У меня есть собственная (наивная) функция, но мне было интересно, существует ли для этого что-то "официальное"? Или что-то более эффективное... function table.contains(table, element) for _, ...
17 февр. '10 в 16:32
1

Как удалить запись таблицы lua по ее ключу?

У меня есть таблица lua, которую я использую как hashmap, то есть со строковыми клавишами: local map = { foo = 1, bar = 2 } Я бы хотел "поп" элемент этой таблицы, идентифицированный его ключом. Существует метод table.remove(), но он принимает тол...
18 нояб. '09 в 20:51
15

Как скопировать таблицу Lua по значению?

Недавно я написал немного кода Lua примерно так: local a = {} for i = 1, n do local copy = a -- alter the values in the copy end Очевидно, что это не то, что я хотел сделать, поскольку переменные содержат ссылки на анонимную таблицу, а не зн...
12 мар. '09 в 21:52
8

Lua - таблицы слияния?

Мне нужно объединить две таблицы с содержимым второго переписывающего содержимого в первом, если данный элемент находится в обоих. Я смотрел, но стандартные библиотеки, похоже, не предлагают этого. Где я могу получить такую ​​функцию?
16 авг. '09 в 3:18
7

Поиск элемента в списке Lua

Если у меня есть список таких элементов: local items = { "apple", "orange", "pear", "banana" } как проверить, включен ли в этот список "оранжевый"? В Python я мог бы сделать: if "orange" in items: # do something Есть ли эквивалент в Lua?
17 мар. '09 в 21:56
3

Как быстро инициализировать ассоциативную таблицу в Lua?

В Lua вы можете создать таблицу следующим образом: local t = { 1, 2, 3, 4, 5 } Однако, я хочу создать ассоциативную таблицу, я должен сделать это следующим образом: local t = {} t['foo'] = 1 t['bar'] = 2 Ниже приведена ошибка: local t = { 'foo...
04 февр. '09 в 20:46
2

Как перебирать стол в Lua?

Итак, у меня есть таблица, следующая вдоль этих строк: arr = { apples = { 'a', "red", 5 }, oranges = { 'o', "orange", 12 }, pears = { 'p', "green", 7 } } Кажется, что нет доступа к ним на основе их индекса, а сами значения представляют собой...
02 июл. '13 в 22:37
9

Конкатенация таблиц в Lua

ОРИГИНАЛЬНАЯ ПОЧТА Учитывая, что в Lua нет встроенной функции, я ищу функцию, которая позволяет мне добавлять таблицы вместе. Я немного поработал в Google и пробовал все решения, которые я наткнулся, но никто не работает должным образом. Сценарий...
11 сент. '09 в 13:27
4

Какая разница между `table.insert(t, i)` и `t [# t + 1] = i`

В lua существует два способа добавления элемента в массив: table.insert(t, i) и t[#t+1] = i Что я должен использовать и почему?
24 мая '11 в 15:14
1

lua: получить список ключей в таблице

Мне нужно знать, как получить набор ключей таблицы в lua. например, если у меня есть следующая таблица: tab = {} tab[1]='a' tab[2]='b' tab[5]='e' Я хочу получить таблицу, которая выглядит следующим образом: keyset = {1,2,5}
01 окт. '12 в 13:33
5

как удалить все элементы в таблице Lua?

Как удалить все элементы внутри таблицы Lua? Я не хочу делать: t = {} table.insert(t, 1) t = {} -- this assigns a new pointer to t Я хочу сохранить тот же указатель на t, но удалить все элементы в t. Я пробовал: t = {} table.insert(t, 1) for i...
02 февр. '11 в 21:58
1

Сортировка таблицы [] в Lua

У меня есть таблица Lua, которую я пытаюсь сортировать. Формат таблицы выглядит следующим образом: tableOfKills[PlayerName] = NumberOfKills Это означает, что, например, если у меня был игрок по имени Робин, в общей сложности 8 убийств и другой по ...
29 мар. '13 в 15:28
3

Итерирование через таблицу Lua из С++?

Я пытаюсь загрузить таблицы из Lua в С++, но у меня возникли проблемы с этим. Я получаю первую итерацию в порядке, но при втором вызове lua_next сбой. Любые идеи? Файл Lua: level = { 1, 2, 3, } Файл С++. Сначала я сделал это: lua_getglobal( L, "...
17 сент. '09 в 13:18