Currificar

marcelino villarino aguiar mvillarino en eresmas.com
Mie Oct 29 19:34:09 CET 2003


Antes de nada agradecer los enlaces a información remitidos por 
C.Cortés.

Hasta donde he logrado comprender, en los ejemplos que estas ayudas 
incluian, la currificación consiste en envolver una función, de la 
cual no todos sus argumentos son conocidos, en otra.
Entonces, en principio para obtener el resultado de la primera función 
debo:
a) Llamar a la segunda de estas funciones con los argumentos que por 
ahora conozco.
b) Esta función devuelve otra, con los argumento por ahora conocidos.
c) Para obtener el resultado final, invoco este resultado intermedio 
con todos los argumentos restantes. Python se encarga de unir estos 
argumentos a los anteriores y llamar con esta lista de argumentos 
(todos), a la función inicialmente deseada.

Disculpándome, pues no he probado el código: ¿Funcionará este esquema 
si paso los diferentes argumentos en más de dos etapas?.

Una segunda cuestión:

Sea f(x,y,z) = x + x*y + z

entonces, f(2, 5, z) = 12 + z = g(z);
y g(z) queda definido como 12 + z.
¿Cómo puedo hacer en python para que, dada la anterior definición de 
f, en caso de hacer g = f(2,5) obtener que g = lambda var: 12 + var ?
Igualmente, si g = f(2) entonces g = lambda var, iable: 2+ 2*var + 
iable, y si h=g(5) entonces h = lambda var: 12 + var.




Más información sobre la lista de distribución Python-es