2017-08-26 44 views
2

我一直在尋找的Hoogle一些文檔並有一個與此簽名稱爲deleteFirstsBy功能:Haskell任何人都可以解釋deleteFirstsBy函數如何與示例一起使用?

deleteFirstsBy :: (a -> a -> Bool) -> [a] -> [a] -> [a] 

解釋說:

的deleteFirstsBy功能需要一個謂詞和兩個列表,並返回第一個列表中第一個出現的第二個列表中的每個元素被刪除。

我不太明白這是什麼意思。任何人都可以給我一個例子嗎?

+3

您是否嘗試過自己調用函數?例如在GHCi? –

+0

根據文檔(如果您按照Google上的鏈接)deleteFirstsBy函數接受一個謂詞和兩個列表,並返回第一個列表,其中第一個列表中第一個出現的每個元素被刪除。你不明白什麼? – mb14

回答

2

該文檔不完全清楚,但在閱讀deleteBy的描述後,其含義應該更清楚。

假設我們有

deleteFirstsBy eq [x1,...,xn] [y1,...,ym] 

然後,我們採取y1,並嘗試從xs刪除它,使用eq作爲我們的平等謂語。具體而言,我們搜索一些i,使eq y1 xi爲真。如果沒有,我們什麼也不做。如果至少有一個,我們刪除第一個,例如xi我們發現(最小的那個i)。

然後,我們從其餘的xs列表中刪除y2(現在可能會減少一個元素)。等等每個yj

相關問題