我正在尝试编写一个Haskell函数,该函数需要一个日期和一个月的列表,并返回列表中与给定月份相匹配的日期。这是我到目前为止的内容,似乎没有用
numInMonth :: [(Int,Int,Int)] -> Int -> Int
numInMonth x [] = x
numInMonth x (y:ys)
minList1 (x:xs) = currentMin x xs
currentMax :: Int -> [Int] -> Int
currentMax x [] = x
currentMax x (y:ys)
| x >= y = currentMax x ys
| otherwise = currentMax y ys
maxList1 :: [Int] -> Int
maxList1 (x:xs) = currentMax x xs
答案 0 :(得分:0)
假定元组是一个日期:
type Day = Int
type Month = Int
type Year = Int
type Date = (Year, Month, Day)
我们可以考虑您想要的逻辑,首先过滤与给定月份匹配的所有日期,然后对它们进行计数:
numInMonth :: [Date] -> Month -> Int
numInMonth dates month = length . filter (\(_, m, _) -> m == month) $ dates