實作一個時鐘,用來處理不含日期的時間。
你應該要能對它加上或減去分鐘。
兩個代表相同時間的時鐘應該彼此相等。
這是一個 24 小時制的時鐘,時間從「00:00」到「23:59」。
要完成這個練習,你需要定義資料型態Clock,加入一個Eq實例,並實作以下函式:
addDelta會把一段以小時和分鐘表示的持續時間,加到以Clock實例表示的某個時刻上。
fromHourMin接受小時和分鐘,並回傳一個帶有這些小時和分鐘的Clock實例。
toString接受一個Clock實例,並回傳該時鐘的字串表示,格式為補零形式,例如「08:03」或「22:35」。
你會看到程式裡已經放好了虛設的資料宣告和型別簽章,但定義這些函式,以及建立有意義的資料型態、newtype或型別同義詞,都要靠你自己。
如果你在型別方面需要一些入門的幫助,可以參考: