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

SML - Concatenating strings in a list within a list

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

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

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

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

生成字符串列表。

我已经尝试了 map、foldr 和匿名函数的各种组合,但我终究无法弄清楚如何实现我想要的结果。

Basis Library中的String结构中有一个函数concat : string list -> string,正好在顶层。因此,你可以定义你的函数:

val concatEach = map concat

它将具有 string list list -> string list 类型,我想这就是您要查找的类型。

如果你想定义自己的concat函数,你可以这样做:

val myConcat = foldr (op ^) ""

或者,不使用 op 关键字:

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