2015-02-02 3 views
-1

Я пытаюсь создать некоторые данные, заполнив Lua String. Вместо многократного создания строки я хочу создать цикл. Но когда я делаю это в C#, Visual Studio дает мне это ..Строка Конкатенация в цикле в Lua

NLua.Exceptions.LuaString.Exception: [строка "кусок"]: 4: ошибка синтаксиса около '='

for i = 0,1,1 do 
    ('forest'..i) = Group:Entity('forest'..' '..i,'Forest') 
    end 
+1

Возможно, лучше использовать массив; 'local forest = {}; for i = 0,1,1 do forest [i] = Группа: Entity ("forest" ..i, "Forest") end' –

+0

Спасибо! Я попробую это :) – Shashank

ответ

1

You являются tryin для присвоения значения значению. Это совершенно бессмысленно, вы можете назначать переменные только.

Если 'forest'..i приводит к строке, значение которой является именем глобальной, вы можете сохранить эту вещь, указав таблицу globals-table: _ENV['forest'..i].

Лучшая идея, вероятно, использование таблицы.

+0

Я не пытаюсь добавить значение к значению. Я хочу forest1 = Group: Entity ('forest 1', 'Forest'). В переменной не должно быть пробела. Я могу конкатенацию внутри, но не для объявления переменной – Shashank

+0

Пожалуйста, перечитайте. Я не говорю, что вы пытаетесь что-то добавить. – Deduplicator

+2

Это в основном то, что он имел в виду (если вы этого не поняли). 'for i = 0,1,1 do \t _ENV ['forest' .. i] = Группа: Entity ('forest' .. '' ..i, 'Forest') end' – das

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