El día 3 de febrero de 2010 23:06, Marcelo Rinesi
<marcelo.rinesi@???> escribió:
>
> Una pregunta: ¿es posible decorar funciones "por default" de una
> manera más o menos elegante? Por ejemplo, hacer algo de manera tal que
> a toda función que uno defina se le aplique automáticamente el
> decorador monad_aware. (No digo que sea una buena idea hacerlo, o
> siquiera que quiera hacerlo, pero al menos desde un punto de vista
> teórico, la posibilidad de hackear de manera más implícita el
> mecanismo de aplicación de funciones suena bastante interesante.)
>
Al final de tu módulo, donde tenés las funciones que querés decorar
automáticamente, podés hacer:
import inspect
from monads import monad_aware
for n,v in locals().items():
if inspect.isfunction(v) and n != 'monad_aware': # la segunda
condicion es para no aplicar el decorador al decorador
locals()[n] = monad_aware(v)
No está probado, pero creo que debería funcionar.
Saludos!
--
Juanjo Conti
blog: http://www.juanjoconti.com.ar
---------------------------------------------------------------------
Para dar de baja la suscripcion, mande un mensaje a:
pyar-unsubscribe@???
Para obtener el resto de direcciones-comando, mande un mensaje a:
pyar-help@???
PyAr - Python Argentina - Sitio web:
http://www.python.com.ar/