对于作业,我正在寻找一种使用 List.foldBack 连接字符列表中的字符串的方法。
到目前为止我想到的:
let (.+) (x1:string) (x2:char) = x1 + System.Char.ToString(x2)
let implode xs:char list = List.foldBack(fun acc elem -> (.+) acc elem) xs ""
但这确实给了我以下错误消息:
This expression was expected to have type
char list
but here has type
string
我做错了什么,如何使用foldBack获得所需的结果
最佳答案
- 您的注释
:char list
适用于implode
的返回类型,而不是xs
。如果您想要后者,则需要将其括起来((xs:char list)
)。 -
List.foldBack
需要采用带有签名'a -> 'b -> 'b
的函数对于一些'a
和'b
,但是(.+)
类型为string -> char -> string
,这不太匹配。
关于list - 使用foldBack 将字符列表转换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35442203/