如何连接两个字符串。例如,我有两个列表
["me","you","he"]
和["she","they","it"]
。我想形成一个新的列表,其中每个相应的字符串组合到gatheer,比如
["meshe","youthey","heit"]
。现在我的问题是:如何组合两个字符串
答案 0 :(得分:5)
combine = zipWith (++)
zipWith有两个列表,并将给定的功能应用于两个列表的第一项,然后是第二项等。如果一个列表比另一个列表长,则会跳过其额外的项目。
++
函数有两个列表并将它们连接在一起。字符串只是一个字符列表。
"hello " ++ "world" == "hello world"
用法:
λ> combine ["me","you","he"] ["she","they","it"]
["meshe","youthey","heit"]
λ> combine [] []
[]
λ> combine ["me", "you"] ["she"]
["meshe"]
λ>
++
运算符是非常基本的,所以在进入stackoverflow之前,你可能会更好地继续阅读你正在使用的任何学习资料,因为你会有很多问题我希望能在你的书。
如果你不想使用zipWith,你可以非常简单地用递归来写它:
combine [] _ = []
combine _ [] = []
combine (x:xs) (y:ys) = (x ++ y) : combine xs ys
用法与以前相同。