class ndef:
def __init__( self , method ):
if callable( method ):
self.method = method
else:
raise 'method is not callable'
def dummy( self , *args ):
pass
def when( self , condition ):
try:
if eval( condition ):
return self.method
else:
return self.dummy
except:
return self.dummy
def __call__( self , *args ):
return self.method( *args )
def ejemplo( str ):
print "Hola " + str + "!"
ejemplo = ndef( ejemplo )
ejemplo.when( "1 + 2 == 3" )( "mundo" )
ejemplo.when( "1 + 2 == 4" )( "pepe" )
esto permite ejecutar un metodo cuando la condicion se cumple
me podrias decir que con un if se soluciona pero muetra la potencia de python
y lo util que es que todo sea un objeto ( para los de java: TODO! )
No hay comentarios.:
Publicar un comentario