Dan Sugalski wrote:

On Mon, 25 Aug 2003, Joseph Ryan wrote:



So, I know how to use find_method to get a method from an object;
but is there any way to dynamically add a method to a class?
Basically, I want to do something like this:

newclass P2, "Foo"
new P1, P2
addr I0, _Foo::somemethod
setmethod P1, "somemethod", I0
findmethod P0, P1, "somemethod"
invoke


So, how do I do it? :)


What's supposed to happen is that each class has a backing namespace, and methods all live in that namespace. Generally objects, no matter what their HLL class, will be PMCs that have subclassed (at the parrot level) ParrotObject.


Anyway, for a perl/python/ruby object of class Foo, to add a new method you'd just add a new sub/method name/PMC binding to the Foo namespace.


I'm a bit lost here; what does that mean? How do I do it? Does


   .sub _Foo::somemethod
       print "Foo-ey goodness."
   .end

add "somemethod" to the "Foo" namespace? Or would it have to be:

   .sub Foo::somemethod
       print "Foo-ey goodness."
   .end

Thanks for the reply,

- Joe



Reply via email to