我想为日历程序创建一个函数,它执行以下操作:
proceed :: Day -> Int -> Day
> proceed Mon 9
Wed
函数proceed应该告诉我,如果今天是星期一,9天内是星期几。
现在我试试这个:
data Day = Mon | Tue | Wed | Thu | Fri | Sat | Sun deriving Show
next :: Day -> Day
next Mon = Tue
next Tue = Wed
next Wed = Thu
next Thu = Fri
next Fri = Sat
next Sat = Sun
next Sun = Mon
proceed :: Day -> Int -> Day
proceed d a = if a==0 then next d
else proceed (next d) (a-1)
我尝试:
proceed Mon 9
Thu
但那是错误的,正确的答案是星期三!!!!!!!我不知道我在哪里犯了错误。