[Date Prev][Date Next][Thread Prev][Thread Next]
- Subject: Re: What is the best way to evaluate a "name"
- From: Matthew Paul Del Buono <delbu9c1@...>
- Date: Thu, 24 Jul 2008 14:59:00 -0400 (EDT)
It would be possible to go ahead and evaluate it yourself it you want (assuming you're ok with just the dot sugar and ignoring everything else). I didn't bother to translate this into C, but it should be fairly trivial to do:
-- Example str: "foo.bar.baz";
local current = getfenv(1);
for var in str:gmatch("([^%.]+)") do
current = current[var];
Please note the above sample is untested. I should also point out that this has the added benefit of causing built-in Lua errors, so if I were to do something like "os.some.table.that.doesnt.exist" I will correctly get "Attempt to index field 'some' (a nil value)" without any additional work.
-- Matthew P. Del Buono