實作一個時鐘,用來處理不含日期的時間。
你應該要能對它加上或減去分鐘。
兩個代表相同時間的時鐘應該彼此相等。
這個練習的測試預期你的時鐘會使用 Pyret 的data declaration來實作。
如果你不熟悉資料宣告,官方文件是個很好的起點。
這個練習的一部分,是要比較由Clock資料變體建構出來的值。
因為時鐘的小時和分鐘可以往任一方向繞回,以下組合在同一個時鐘上是相同的:1 小時 1 分鐘、0 小時 61 分鐘、25 小時 1 分鐘,以及 2 小時 -59 分鐘。
Pyret 的is測試運算子採用結構相等性,這會使得這些組合預設上都不相等。
因此,你需要自己定義一個相等性方法,用來比較Clock資料變體的值之間的時間。
如果你不熟悉 Pyret 如何處理相等性,請參閱官方文件中關於相等性的說明。