[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Script Reloading
- From: John Paquin <jpaquin@...>
- Date: Fri, 06 Aug 2004 10:11:19 -0400
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?