我正在閱讀 Will Kurt 的 Get Programming with Haskell。
它說:
為了幫助鞏固這個想法,您將撰寫一個自己的簡單型別類。因為您正在學習 Haskell,所以有一個很棒的型別類是 Describable 。作為您的 Describable 型別類的實體的任何型別都可以用簡單的英語向您描述自己。因此,您只需要一個功能,即 describe 。對于您擁有的任何型別,如果它是 Describable ,則在該型別的實體上呼叫 describe 將告訴您所有相關資訊。例如,如果 Bool 是 Describable ,您會期望這樣:
GHCi> describe True "A member of the Bool class, True is opposite of False" GHCi> describe False "A member of the Bool class, False is the opposite of True"
提供的代碼是:
class Describable a where
describe :: a -> String
我想我必須deriving (Describable)在 Bool 型別上使用。然后必須實作該describe功能。但是,我不確定代碼實際上會是什么樣子。
請幫忙。
uj5u.com熱心網友回復:
您只能deriving用于支持自動派生的類,該類不適用于Describable該類。您需要創建一個instance:
class Describable a where
describe :: a -> String
instance Describable Bool where
describe True = "..."
describe False = "..."
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/528492.html
標籤:哈斯克尔
