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