我有一个基于字母的整数列表。例如:
let charlist = map (ord) "ABCDEF"
charlist
然后将如下所示:
[65,66,67,68,69,70]
我还有一个包含三个函数的列表(+)
:(-)
和(*)
。此示例中的列表如下所示
let funclist = [(+), (-), (*)]
我想在元素之间按顺序charlist
应用函数(如果其中的“空格”charlist
多于 中的元素funclist
,则从头开始)并从左到右funclist
计算最终值,如下所示:
s = ((((((65) + 66) - 67) * 68) + 69) - 70)
我正在考虑使用foldl
,但foldl
似乎只能使用一个功能。有没有其他方法可以做到这一点?如果可能的话,我想在一个函数中总结整个过程,尽管这不是必需的。