_[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