你好,我想過濾一個元組,並傳遞給另一個函數兩個參數,一個String
和Int
(不是數組)過濾一個元組,並傳遞給另一個函數2個參數
我有以下功能:
hasRated :: [Rating] -> String -> (Bool, Int)
hasRated [] username = (False, 0)
hasRated ((name, rate):xs) username
| name == username && rate > 0 = (True, rate)
| otherwise = hasRated xs username
listRatedFilms :: String -> Film -> (Bool, Int)
listRatedFilms username (t, d, y, r) = hasRated r username
displayFilmsRatings :: String -> Database -> String
displayFilmsRatings username database = displayRatedFilms (filter (listRatedFilms username) database)
displayRatedFilms :: Database -> Int -> String
displayRatedFilms database mark = concat(map displayRatedFilm database)
listRatedFilms
返回一個元組(Bool, Int)
即(True, 4)
現在我想要對其進行過濾,如果Bool
是True
然後通過Int
至displayRatedFilms
,如果其False
進行過濾。
任何想法如何實現?
你能否提供'listRatedFilms'的確切類型? –
我更新了問題! – Bobys