multimethods decorator
Bruno Desthuilliers
bruno.42.desthuilliers at wtf.websiteburo.oops.com
Wed Oct 10 13:18:04 EDT 2007
Gerardo Herzig a écrit :
> Hi all. Im reading the Gido's aproach using decorators at
> http://www.artima.com/weblogs/viewpost.jsp?thread=101605
>
> It looks good to me, but the examples shows the functionality using
> functions.
> Now, when i try to give this decorator into a method, if i try the
>
> class test(object):
> @multimethod(...)
> def met(self, ...):
>
> The multimethod decorator needs the types of the arguments, and, if the
> met method requires self as the first argument, the multimethod should
> look like
> @multimethod(self.__class__, bla, ble) or some like that...
>
> Now i know that im wrong, because i have this error
> >@multimethod(self.__class__)
> >NameError: name 'self' is not defined
Indeed. Neither self (which will only be known at method call time) nor
even the 'test' class (which is not yet defined when the decorator is
executed) are availables.
> So what would be the first argument to @multimethod??
A string ?-)
FWIW, there's already an implementation of multiple dispacth by Mr. Eby...
More information about the Python-list
mailing list