当前位置: 首页>>代码示例>>用法及示例精选>>正文


haskell scanr1用法及代码示例

Haskell语言Prelude模块中函数scanr1的用法及代码示例。

用法类型:

(a -> a -> a) -> [a] -> [a]

它采用列表的最后两项并应用函数,然后采用末尾和结果中的第三项,依此类推。它返回中间结果和最终结果的列表。

示例1:

输入:
scanr1 (+) [1,2,3,4]
         
输出:
[10,9,7,4]
         

示例2:

输入:
scanr1 (/) [8,12,24,2] 
         
输出:
[8.0,1.0,12.0,2.0]
         

示例3:

输入:
scanr1 (/) [12]
         
输出:
[12.0]
         

示例4:

输入:
scanr1 (&&) [1>2,3>2,5==5]
         
输出:
[False,True,True]
         

示例5:

输入:
scanr1 max [3,6,12,4,55,11]
         
输出:
[55,55,55,55,55,11]
         

示例6:

输入:
scanr1 (\x y -> (x+y)/2) [12,4,10,6]
         
输出:
[9.0,6.0,8.0,6.0]
         

相关用法

注:本文由纯净天空筛选整理自 haskell scanr1。非经特殊声明,原始代码版权归原作者所有,本译文的传播和使用请遵循“署名-相同方式共享 4.0 国际 (CC BY-SA 4.0)”协议。