これまでは、ただ走ることの楽しさだけで走ってきたのではないでしょうか。スケジュールもタイマーもなく、あったのは路面を打つ足音だけでした。 でも、競技として走るチームに加わった今、状況は真剣そのものです。 練習は1秒単位で計測され、ほんの一瞬の差が勝敗を分けます。 そのペースについていくために手に入れたのが、Split-Second Stopwatch です。洗練されたハイテクなガジェットで、これから新しい親友になってくれるでしょう。
この演習では、ラップタイムを正確に記録するストップウォッチを作ります。
ストップウォッチは4つのコマンド(start、stop、lap、reset)を使って、次の2つを記録します。
使えるコマンドは、ストップウォッチがどの状態にあるかによって変わります。
| コマンド | 開始時の状態 | 終了時の状態 | 効果 |
|---|---|---|---|
| Start | Ready | Running | 時間の計測を開始する |
| Start | Stopped | Running | 時間の計測を再開する |
| Stop | Running | Stopped | 時間の計測を止める |
| Lap | Running | Running | 現在のラップをそれまでのラップに追加し、現在のラップをリセットする |
| Reset | Stopped | Ready | 現在のラップをリセットし、それまでのラップを消去する |
この演習を完了するには、データ型stopwatchを定義し、次の関数を実装する必要があります。
ダミーの型定義はすでに用意されていますが、関数を定義して意味のあるデータ型を作るのは自分で行う必要があります。
Exercismに登録すれば、90個の演習、そして本物の人間によるメンタリングとともに、Standard MLを学んでマスターできます。すべて無料です。