Haskell使用foldr添加两个列表

Haskell使用foldr添加两个列表,haskell,functional-programming,Haskell,Functional Programming,我知道在Haskell中,有一个插入函数包含两个列表 intercalate ", " ["Hello", "world"] 将给出:“你好,世界” 我正在尝试使用foldr合并两个列表 但由于我是哈斯克尔的新手,我不知道该怎么做 我相信函数应该是这样的: inters n xs = foldr (\x acc -> x ++ str ++ acc) "" xs 结果是:你好,世界, 逗号和空格也被添加到末尾 如何使函数只在列表元素之间添加,而不在末尾添加 非常感谢您的帮助。您可以使用

我知道在Haskell中,有一个
插入
函数包含两个列表

intercalate ", " ["Hello", "world"]
将给出:
“你好,世界”

我正在尝试使用
foldr
合并两个列表

但由于我是哈斯克尔的新手,我不知道该怎么做

我相信函数应该是这样的:

inters n xs = foldr (\x acc -> x ++ str ++ acc) "" xs
结果是:
你好,世界,
逗号和空格也被添加到末尾

如何使函数只在列表元素之间添加,而不在末尾添加


非常感谢您的帮助。

您可以使用以下功能
foldl1
foldr1

foldl1 (\s1 s2 -> s1 ++ ", " ++ s2) ["alpha", "beta", "gamma"]
foldr1 (\s1 s2 -> s1 ++ ", " ++ s2) ["alpha", "beta", "gamma"]

您可以使用以下功能
foldl1
foldr1

foldl1 (\s1 s2 -> s1 ++ ", " ++ s2) ["alpha", "beta", "gamma"]
foldr1 (\s1 s2 -> s1 ++ ", " ++ s2) ["alpha", "beta", "gamma"]
你有一个foldl,但是没有foldr。这个例子可能会有所帮助:您有一个带有的foldl,但没有foldr。此示例可能有助于: