_[Python-es]_¿Cierres_en_Python?
debianero debian
debianerolinux en yahoo.com
Mie Ago 7 15:28:31 CEST 2002
--- Hernan Martinez Foffani <hernan en orgmf.com.ar>
wrote:
> si quien dispara el handler (supongo que algun
> metodo de jabber)
> tiene a mano el objeto self de Clase, bastaría con
> que registres
> en el handler el "unbound method" Clase.nuevoMensaje
> pero sospecho que no vas a tener referencia al
> objeto self, no?
>
> ¿tiene que ser nuevoMensaje() un metodo de la clase?
> ¿cual es la interfaz de jabber.setMessageHandler()?
> si no es un metodo de Clase, pasarle eso solo te
> traerá problemas.
>
>
> hay una forma algo extraña de simular closures. es
> sucia y
> limitada (no sirve si tenes que registrar mas de un
> handler)
> ejemplo (no probado):
>
> class Clase:
> def __init__(self):
> # ...
> self.jabber.setMessageHandler(self)
>
> def __call__(self, con, msg):
> self.nuevoMensaje(con, msg)
>
> def nuevoMensaje(self, con, msg):
> print "He recibido un nuevo mensaje con el
> texto %s" % msg
>
> saludos,
> -Hernan
>
> _______________________________________________
> Python-es mailing list
> Python-es en aditel.org
> http://listas.aditel.org/listinfo.py/python-es
__________________________________________________
Do You Yahoo!?
Yahoo! Health - Feel better, live better
http://health.yahoo.com
Más información sobre la lista de distribución Python-es