Un decorador es solo azucar sintactico que viene desde la version 2.4 de python
El programa: class C:
def foo(cls, y):
print "classmethod", cls, y
foo = classmethod(foo)
es quivalente a: class C:
@classmethod
def foo(cls, y):
print "classmethod", cls, y
En ruby puedes hacer lo mismo que en el primer ejemplo (creo). Un monton de ejemplos [python.org] y uno real de un controlador [turbogears.org]. Lo bueno de usar decoradores dentro del controlador es que puedes hacer de forma declarativa labores como: exponer un metodo a una plantilla, validar la identidad, definir funcion de tratamiento de errores, validacion de datos,... Y tu función solo hace lo que tiene que hacer. El azucar sintactico hace agradable usar los decoradores;-)
Re:¿Como hace Ruby?
(Puntos:1)( http://127.0.0.1/ | Última bitácora: Jueves, 01 Julio de 2010, 03:18h )
El programa:
class C:
def foo(cls, y):
print "classmethod", cls, y
foo = classmethod(foo)
es quivalente a:
class C:
@classmethod
def foo(cls, y):
print "classmethod", cls, y
En ruby puedes hacer lo mismo que en el primer ejemplo (creo). Un monton de ejemplos [python.org] y uno real de un controlador [turbogears.org]. Lo bueno de usar decoradores dentro del controlador es que puedes hacer de forma declarativa labores como: exponer un metodo a una plantilla, validar la identidad, definir funcion de tratamiento de errores, validacion de datos,
Una vez metido, recordad lo sucedido [laquadrature.net].