|
Hi, being pretty new to Lua, I’m
heavily using it as a configuration language for my C++ code. To make the
configuration as user friendly as possible, I selected a table-driven approach
for the configuration file, as it offers an easy-to-read hierarchy, e.g.: function setFunction()
print("received SET command") end function statusFunction()
print("received STATUS command") end interface = { port =
"/dev/ttyS0", baud =
9600, incoming
= {
SET = setFunction,
STATUS = statusFunction } } So far, this works just
great, even allowing global Lua-Functions to be referenced from within the
table. My next idea was to put the functions’
code directly into the table, making the configuration file even more readable: interface = { port =
"/dev/ttyS0", baud =
9600, incoming
= {
SET = function()
print("received SET command")
end,
STATUS = function()
print("received SET command")
end } } But while this simple
example still works fine, it seems that there is no way reference another table
value from the same table constructor: To give an example, I cannot print the
port from my functions: interface = { port =
"/dev/ttyS0", baud =
9600, incoming
= {
SET = function()
print("received SET command from:")
print(interface["port"]) -- error!!
end,
STATUS = function()
print("received SET command")
end } } Is there a way to work around
this problem, ideally by keeping everything within the same table constructor? Thanks for any suggestions, Christof |