我正在寻找有关 Hoogle 的一些文档有一个函数叫 deleteFirstsBy
带有此签名:
deleteFirstsBy :: (a -> a -> Bool) -> [a] -> [a] -> [a]
解释说:
The deleteFirstsBy function takes a predicate and two lists and returns the first list with the first occurrence of each element of the second list removed.
不太明白什么意思。谁能给我举个例子吗?
最佳答案
文档不是很清楚,但是看了deleteBy
的描述后,意思应该更清楚了。
假设我们有
deleteFirstsBy eq [x1,...,xn] [y1,...,ym]
然后,我们采用 y1
并尝试将其从 xs
中删除,使用 eq
作为我们的相等谓词。具体来说,我们搜索一些i
,使得eq y1 xi
为真。如果没有,我们什么都不做。如果至少有一个,我们将删除找到的第一个这样的 xi
(具有最小 i
的那个)。
然后,我们从剩余的 xs
列表中删除 y2
(现在可能少了一个元素)。对于每个 yj
依此类推。
关于list - Haskell 任何人都可以通过示例解释deleteFirstsBy 函数如何工作吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45892008/