小编Sas*_*ser的帖子

在Haskell中折叠,使用多个函数

我有一个基于字母的整数列表.例如:

let charlist = map (ord) "ABCDEF"
Run Code Online (Sandbox Code Playgroud)

charlist 然后看起来如下:

[65,66,67,68,69,70]
Run Code Online (Sandbox Code Playgroud)

我也有三个功能列表:(+),(-)(*).此示例中的列表如下所示

let funclist = [(+), (-), (*)]
Run Code Online (Sandbox Code Playgroud)

我想在元素之间按顺序应用函数charlist(如果有更多"空格",而charlist不是元素funclist,则从头开始funclist)并从左到右计算最终值,如下所示:

s = ((((((65) + 66) - 67) * 68) + 69) - 70)
Run Code Online (Sandbox Code Playgroud)

我正在考虑使用foldl,但foldl似乎只能使用一个功能.有没有其他方法可以做到这一点?如果可能的话,我想在一个函数中总结整个过程,尽管这不是必需的.

haskell fold accumulate

6
推荐指数
1
解决办法
285
查看次数

标签 统计

accumulate ×1

fold ×1

haskell ×1