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


haskell scanr用法及代码示例

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

用法类型:

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

它采用列表的第二个参数和最后一项,并应用该函数,然后采用末尾和结果中的倒数第二项,依此类推。它返回中间结果和最终结果的列表。

示例1:

输入:
scanr (+) 5 [1,2,3,4]
         
输出:
[15,14,12,9,5]
         

示例2:

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

示例3:

输入:
scanr (/) 3 []
         
输出:
[3.0]
         

示例4:

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

示例5:

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

示例6:

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

示例7:

输入:
scanr  (\x y -> (x+y)/2) 54  [12,4,10,6]
         
输出:
[12.0,12.0,20.0,30.0,54.0]
         

相关用法

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