可爱的 Python: 在 Python 中进行函数编程,第 3 部分
2008-11-13 13:19:33 来源:WEB开发网让我们用 Haskell 的一个非常简单的示例来说明 Curry,然后在使用 functional 模块,在 Python 中重复使用同样的示例:
清单 8:Curry 一个 Haskell 计算
computation a b c d = (a + b^2+ c^3 + d^4)
check = 1 + 2^2 + 3^3 + 5^4
fillOne = computation 1
-- specify "a"
fillTwo = fillOne 2
-- specify "b"
fillThree = fillTwo 3
-- specify "c"
answer = fillThree 5
-- specify "d"
-- Result: check == answer == 657
在 Python 中:
清单 9:Curry 一个 Python 计算
>>>
from
functional
import
curry
>>> computation =
lambda
a,b,c,d: (a + b**2 + c**3 + d**4)
>>> computation(1,2,3,5)
657
>>> fillZero = curry(computation)
>>> fillOne = fillZero(1)
# specify "a"
>>> fillTwo = fillOne(2)
# specify "b"
>>> fillThree = fillTwo(3)
# specify "c"
>>> answer = fillThree(5)
# specify "d"
>>> answer
657
更多精彩
赞助商链接