Есть ли способ объявить и зарезервировать место для большого массива без использования table.insert
? Нечто подобное в Python:Как объявить массив с элементами X в lua
a = [0]*10000
или в C:
malloc(10000*sizeof(int))
Есть ли способ объявить и зарезервировать место для большого массива без использования table.insert
? Нечто подобное в Python:Как объявить массив с элементами X в lua
a = [0]*10000
или в C:
malloc(10000*sizeof(int))
Lua таблицы динамичны: они растут по мере необходимости. Нет необходимости (и никоим образом) объявлять большой массив. Просто создайте его с помощью a={}
и заполните его по мере необходимости.
Если необходимо создать большой массив, просто заполнить его с некоторым значением:
a={}
for i=1,10000 do
a[i]=true
end
В любом случае, это на самом деле не работа для table.insert
.
Зачем вам это нужно? Чего вы пытаетесь достичь? – lhf
Вы пытаетесь сопоставить концепции из других сред с Lua, и они не все, что полезно в Lua: «массив», «объявление», «резервное пространство»; Даже «X-элементы» более точны как «пары ключей ключа X». Вопросы Ergo, @ lhf. –
Я думаю, вы ошибаетесь в отношении того, что делает код python. Умножение не оставляет места. Попробуйте '[] == [] * 10000' или' sys.getsizeof ([] * 10000'.) – Akavall