2013-07-08 4 views
4

У меня есть LUA файл, содержание которого Lua таблица, как показано ниже: A={}, A.B={}, A.B.C=0;,Как прикрепить таблицу Lua?

Проблема заключается в том, я хочу, чтобы добавить префикс XYZ перед каждым выше заявлением. Таким образом, после разбора базы данных должны иметь что-то лок это: XYZ.A={}, XYZ.A.B={}, XYZ.A.B.C={},

Любые идеи? Заранее спасибо

ответ

2

Я думаю, что это то, что вы хотите:

XYZ = {} 
XYZ.A = {} 
XYZ.A.B = {} 
XYZ.A.B.C = 0 
3

Если вы можете себе позволить загрязнять ваше глобальное пространство с A, просто назначьте его позже:

-- load the file 
-- if XYZ doesn't exist, XYZ = { A = A } would be probably shorter 
XYZ.A = A 
A = nil 
1

Как насчет просто сделать :

XYZ = { 
    A = { 
     B = { 
      C = 0 
     } 
    } 
} 

Если вы не хотите размещать объекты так глубоко, то вы можете:

XYZ = { 
    A = A 
} 

A = nil 

Это предполагает, что вы уже объявили объект A раньше.

4

Вы можете загрузить файл с XYZ как есть среда: loadfile("mydata","t",XYZ). См. loadfile в руководстве.

Это работает в Lua 5.2. Для Lua 5.1 используйте loadfile, а затем setfenv.

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