2014-11-25 8 views
2

Я хочу использовать цикл для создания нескольких varibles (с именами, которые являются одинаковыми для последнего символа, кроме) в LuaСоздание нескольких переменных, используя цикл в Lua

for i= 1, 10, 1 do 
     marker+i = "do things" 
    end 

довольно много я, что я хочу для получения: marker0, marker1, marker2 и т. д. и я думаю, что что-то не так с маркером + i

Я получаю сообщение об ошибке. Спасибо.

+0

Я думаю, вы бы гораздо лучше создать таблицу: 'маркер = {}', 'маркер [я] = ... '. – lhf

ответ

3

Возможно, вы не хотите этого делать. Гораздо проще было бы создать таблицу и создать эти переменные в качестве ключей в таблице.

t={} 
for i=1, 10, 1 do 
    t["marker"..i] = "do things" 
end 

(Обратите внимание, что .. является contatenation, а не в Lua +. Заметим также, что вам нужно процитировать строку, а не использовать его в буквальном смысле.)

Но если вы действительно желаете, чтобы быть глобальным переменные, а не ключи в какой-то другой таблице вы вообще можете (в зависимости от окружающей среды) выполните следующие

for i=1, 10, 1 do 
    _G["marker"..i] = "do things" 
end 
+3

Или просто используйте 'marker' в качестве имени таблицы и индексируйте его напрямую:' marker [i] '. – lhf

+0

@lhf Действительно. Я предположил, что имена построенных переменных имели точку в themsevles, но это тоже не так. –

Смежные вопросы