說明
根據學生的名字以及他們所屬的年級,為學校建立一份名冊。
最後,你應該能夠:
- 把學生的名字加入某個年級的名冊
- 取得某個年級中所有學生的清單
- 「二年級有哪些學生?」
- 「目前只有 Jim 而已。」
- 取得所有年級中所有學生的排序清單。
年級應依 1、2、3 等順序排序,而同一個年級裡的學生則應按名字的字母順序排序。
- 「目前全校有哪些學生?」
- 「讓我想想。
一年級有 Anna、Barb 和 Charlie,二年級有 Alex、Peter 和 Zoe,五年級有 Jim。
所以答案是:Anna、Barb、Charlie、Alex、Peter、Zoe 和 Jim」
請注意,我們的學生都只有一個名字(小鎮就是這樣,不然呢?),而且同一位學生不能在同一個年級或名冊裡被重複加入。
事實上,當測試試圖重複加入同一位學生時,你的實作應該指出這是錯誤的。
提示
要完成這個練習,你需要建立資料型態 School,並實作下列函式:
檔案裡已經有虛設的資料宣告和型別簽章,但定義這些函式、建立有意義的資料型態、newtype 或型別同義詞,都得靠你自己。
出處
與 Phil Battos 在 gSchool 的一次結對練習