高阶函数

今天学python的时候看到高阶函数我十分激动,因为上个学期学的Haskell也有高阶函数。虽然上个学期并不勤奋地学习Haskell,但是高阶函数仍然在我的脑海里留下深刻的印象,因为高阶函数实在是太太太牛逼了。 所以今天忍不住来复习一波高阶函数。 Haskell中的高阶函数 在Haskell中,有很多很好用的高阶函数,如下面几个: map, filter, foldl, foldr map map :: (a -> b) -> [a] -> [b] map接受一个函数f和一个数列A并返回一个数列。其作用是将函数作用到A中的每一个元素上面 filter filter :: (a -> Bool) -> [a] -> [a] filter是一个过滤器,它接受一个检验函数f和一个数列A并返回一个数列。其作用是用f来过滤A中的元素 foldr, foldl foldr :: (a -> b -> b) -> b -> [a] -> b foldl和foldr的作用是将双参数的函数将列表处理 foldr f z [x1, x2, …, xn] == x1 […]