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) ""
所以我得到了这个字符串列表列表:
[["#@","**","#@"],["##","*%","##"]]
我想要做的是将每个内部列表转换成一个字符串,如下所示:
["#@**#@","##*%##"]
生成字符串列表。
我已经尝试了 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) ""