Haskell:用int计算枚举(星期几)

时间:2014-05-05 21:35:11

标签: function haskell count weekday

我想为日历程序创建一个函数,它执行以下操作:

proceed :: Day -> Int -> Day
> proceed Mon 9
Wed

功能继续应该告诉我,如果今天是星期一,它在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

但那是错的,合适的衣服是周三!!!!!!! 我不知道我在哪里弄错了。

1 个答案:

答案 0 :(得分:1)

感谢bheklilr

if a == 0 then d else proceed (next d) (a-1)

这只是一个错误!