Haskell语言Prelude模块中函数scanl1的用法及代码示例。
用法类型:
(a -> a -> a) -> [a] -> [a]
它采用列表的前2个项目并将函数应用到它们,然后将结果和第三个参数输入函数,依此类推。它返回中间结果和最终结果的列表。
示例1:
输入:
scanl1 (+) [1,2,3,4]
输出:
[1,3,6,10]
示例2:
输入:
scanl1 (/) [64,4,2,8]
输出:
[64.0,16.0,8.0,1.0]
示例3:
输入:
scanl1 (/) [12]
输出:
[12.0]
示例4:
输入:
scanl1 (&&) [3>1,3>2,4>6,5==5]
输出:
[True,True,False,False]
示例5:
输入:
scanl1 max [3,6,12,4,55,11]
输出:
[3,6,12,12,55,55]
示例6:
输入:
scanl1 (\x y -> (x+y)/2) [3,5,10,5]
输出:
[3.0,4.0,7.0,6.0]
相关用法
- haskell foldl用法及代码示例
- haskell foldl1用法及代码示例
- haskell foldr用法及代码示例
- haskell foldr1用法及代码示例
- haskell scanl用法及代码示例
- haskell scanr用法及代码示例
- haskell scanr1用法及代码示例
注:本文由纯净天空筛选整理自 haskell scanl1。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。