我有一个基于字母的整数列表.例如:
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似乎只能使用一个功能.有没有其他方法可以做到这一点?如果可能的话,我想在一个函数中总结整个过程,尽管这不是必需的.