http://www.zhihu.com/topic/19585411/hot 函数式编程的本质 函数式编程中的函数这个术语不是指计算机中的函数(实际上是Subroutine),而是指数学中的函数,即自变量的映射。也就是说一个函数的值仅决定于函数参数的值,不依赖其他状态。比如sqrt(x)函数计算x的平方根,只要x不变,不论什么时候调用,调用几次,值都是不变的。 在函数式语言中,函数作为一等公民,可以在任何地方定义,在函数内或函数外,可以作为函数的参数和返回值,可以对函数进行组合。 作者:用心阁 链接:http://www.zhihu.com/question/28292740/answer/40336090 来源:知乎 著作权归作者所有,转载请联系作者获得授权。
例子 function makeEnscapeHandler(func, preprocess)
return function(num)
num = preprocess(num)
func(num)
end
end
local function plusOneFunc(num)
return num+1
end
local printPlusOne = makeEnscapeHandler(print, plusOneFunc)
printPlusOne(1)
|
请发表评论