我有一個這樣定義的音符資料型別:
data Note = Ab | A | Bb | B | C | Db | D | Eb | E | F | Gb | G deriving (Eq, Ord)
我怎樣才能使它成為一個實體,Enum以便succ G回傳Ab?
uj5u.com熱心網友回復:
您必須自己定義Enum實體:
instance Enum Note where
fromEnum note = case note of
Ab -> 0
A -> 1
...
toEnum n = case n `mod` 12 of
0 -> Ab
1 -> A
...
中的“模 12”部分toEnum將回圈您的筆記。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/406839.html
標籤:
