Если вы можете отказаться от ключевого слова VARIABLE
, тогда это код Lua, и вам нужен только небольшой вспомогательный код (немного __index
волшебства метаметода).
Integer="Integer"
setmetatable(_G,
{ __index = function(t,n)
return function (x) _G[n]=x.value end
end })
BootTime {
type=Integer,
value=10000
}
print(BootTime+2345)
Если вы хотите сохранить ключевое слово VARIABLE
, то синтаксис, который вы дали, больше не является простым Lua, но если вы можете жить с VARIABLE.BootTime
или VARIABLE"BootTime"
или VARIABLE[BootTime]
, тогда это простой Lua, и его можно сделать работать с подходящими метаметодами.