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