2016-03-15 14 views
-5

如何過濾Haskell中具有雙倍數的元組,如(1,1)和(2,2),但不刪除它們只是爲了找到它們?如何找到具有相同數字的哈斯克爾中的元組

So far all i have is the start line 
FilterDoubles. 
+2

你只有...是什麼?函數的名字?另外,你會過濾什麼?元組列表? – Zeta

+2

你想過濾什麼? Foldables? - 或者你想要一個可以處理不同*大小的元組的函數嗎? – Carsten

+0

你的函數名稱,它將過濾元組列表。 –

回答

2

> let xs = [(1, 2), (3, 3), (4, 3)] 

filter(僅限)

> filter (uncurry (==)) xs 
[(3,3)] 

標記與

> [(a == b, t) | [email protected](a, b) <- xs] 
[(False,(1,2)),(True,(3,3)),(False,(4,3))] 

發揮和理解這個表達式自己!

+1

你能評論你的-1嗎? – josejuan

+0

這不是形成我 - 但不要擔心太多 - 可能有人不同意你回答一個稍微糟糕的問題(這裏可能不是Haskeller - 但是有那麼多警長會巡邏每一個負面問題,冷靜/平坦等等。他們認爲沒有幫助鼓勵良好的問題和答案) – Carsten

+0

國際海事組織你的答案是好的,正確的,據我們所知,從問題和唯一澄清評論 – Carsten