List 如何用不同的元素组合两个列表?

List 如何用不同的元素组合两个列表?,list,haskell,List,Haskell,如何用不同的元素组合两个列表?问题是这样的: 您正在寻找(\\)功能: [2,4,6,8,10] \\ [3,4,5,6] == [2,8,10] Haskell具有许多内置函数。特别是对于像这样的简单任务,你经常会找到一个能胜任这项工作的人。但是你怎么找到一个呢 第一步是确定所需函数的类型。在本例中,您正在寻找一个函数,该函数获取两个具有相同类型元素(a)的列表,并生成具有相同类型元素的列表: [a] -> [a] -> [a] 下一步是匹配该类型的函数(\\)位于结果顶部附近

如何用不同的元素组合两个列表?问题是这样的:


您正在寻找
(\\)
功能:

[2,4,6,8,10] \\ [3,4,5,6] == [2,8,10]
Haskell具有许多内置函数。特别是对于像这样的简单任务,你经常会找到一个能胜任这项工作的人。但是你怎么找到一个呢

第一步是确定所需函数的类型。在本例中,您正在寻找一个函数,该函数获取两个具有相同类型元素(
a
)的列表,并生成具有相同类型元素的列表:

[a] -> [a] -> [a]
下一步是匹配该类型的函数<代码>(\\)位于结果顶部附近。它包括以下文件:

\\
功能是列表差异(非关联)。在
xs\\ys
的结果中,依次从
xs
中删除
ys
的每个元素的第一次出现(如果有)。因此

(xs ++ ys) \\ xs == ys.
这是
deleteFirstsBy
的一个特例,它允许程序员提供自己的平等性测试


问题是“如何编写setDiff函数”?我怀疑您的问题被否决了,因为
setDiff
通常不被描述为“合并两个列表”。将标题更改为@soon建议的标题可能会有所帮助。