lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


Have any of you guys dealt with the problem of using a class inheritence structure and trying to reload scripts on the fly?
We'd like to be a able to run our app (which would load some script 
files), then be able to change the script files and reload them and have 
the existing objects reflect the changed source.
The problem, of course, is that we're using a class structure, and our 
method tables point directly to the methods of the classes we've 
inherited from.  When we reload the script, our references don't change, 
there's simply a new version of the methods in the lua state somewhere.
One way to handle this would be to keep a list of the names of the 
inherited classes for each class. Then when a method gets called, we'd 
go through the list and get the inherited class definition from the 
global table and try to find the method.  If it didn't exist, we move on 
to the next name.
youch.  It hurts just talking about doing it this way, but I'm thinking 
that in reality, our class structure won't be very deep, so lookups 
would be limited to 2 or 3 at most.
Anyone else have any other brainy ideas?