Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- data Food = Apple | Orange | Carrot | Potato
- sumCond :: Food -> (Int, Int) -> (Int, Int)
- {-
- sumCond Apple (f, v) = (f + 1, v)
- sumCond Orange (f, v) = (f + 1, v)
- sumCond Carrot (f, v) = (f, v + 1)
- sumCond Potato (f, v) = (f, v + 1)
- -}
- sumCond food (f, v) = case food of Apple -> (f + 1, v)
- Orange -> (f + 1, v)
- Carrot -> (f, v + 1)
- Potato -> (f, v + 1)
- sumFood :: [Food] -> (Int, Int)
- sumFood xs = foldl (\x y -> sumCond y x) (0, 0) xs
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement