匹配日期列表中的月份

时间:2019-10-22 05:58:05

标签: haskell

我正在尝试编写一个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

1 个答案:

答案 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