Ir al contenido principal

This is my blog, more about me at marianoguerra.github.io

🦋 @marianoguerra.org 🐘 @marianoguerra@hachyderm.io 🐦 @warianoguerra

cosa en python


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! )