我想篩選我的項目列表中的屬性,我似乎無法讓它工作。基於記錄語法的項目篩選列表
我有被宣佈爲數據類型圖如下:
data Shape = Square {length:: Float, color:: Color}
| Rectangle {length:: Float, widht:: Float, color :: Color}
....
重複此一對夫婦的形狀 他們都共有的屬性爲顏色,這也是一種數據類型data Color = Yellow | Green | Blue
我試圖過濾顏色像這樣
getByColor :: Color -> [Shape] -> [Shape]
getByColor _ [] = []
getByColor x [email protected]{color=c}:xs
| c == x = item:getByColor x xs
| otherwise = getByColor x items
這給了我一個語法錯誤「{」,當我嘗試運行它。
有人可以指出我在正確的方向?
你可以寫'(\形狀 - >顏色形狀== colorParam)''爲((== colorParam)顏色)' – Simon
@Simon:或者,用'Control.Arrow',爲'色>>>(== colorParam)'! – Xeo