的元件的功能編寫了一個名爲
findID
函數接受:是獲得一個列表和一個整數返回列表
- 的(學生姓氏對(串),學生證(名單3位數的整數)),
- 學生姓名
和回報:
- 與此名稱匹配的學生ID列表。
這個工程:
findID xs m = [ snd(x) | x<-xs, fst(x) == m]
結果:
*Main> findID [("josh",123),("becky",456)] "josh"
[123]
但我想不使用列表理解。通過這樣的事情:
findID' (x:xs) m
| fst(x) == m = snd(x)
| otherwise = findID' xs
我錯過了什麼?
'過濾器「和」地圖「? – Carsten
你不需要在Haskell的函數參數周圍使用括號。而不是'snd(x)',你應該使用'snd x'來代替。 – comingstorm