SML - 在列表中的列表中连接字符串

时间:2015-03-07 01:56:18

标签: sml string-concatenation nested-lists

所以我得到了这个字符串列表列表:

[["#@","**","#@"],["##","*%","##"]]

我想要做的是将每个内部列表转换为单个字符串,如下所示:

["#@**#@","##*%##"]

导致字符串列表。

我尝试了各种地图,折叠和匿名功能的组合,但我不能为我的生活找到如何达到我想要的结果。

1 个答案:

答案 0 :(得分:1)

基础库中的concat : string list -> string结构中有一个函数String,它恰好位于顶层。因此,您可以定义您的功能:

val concatEach = map concat

它将具有string list list -> string list类型,我猜你正在寻找它。

如果您想定义自己的concat功能,可以这样做:

val myConcat = foldr (op ^) ""

或者,不使用op关键字:

val myConcat' = foldr (fn (x, y) => x ^ y) ""