使用型別引數建立資料型別
型別建構函式可以採用一個或多個型別引數:
data Foo a b = Bar a b | Biz a b
Haskell 中的型別引數必須以小寫字母開頭。我們的自定義資料型別還不是真正的型別。為了建立我們型別的值,我們必須用實際型別替換所有型別引數。因為 a
和 b
可以是任何型別,我們的值建構函式是多型函式。
建立自定義型別的變數
let x = Bar "Hello" 10 -- x::Foo [Char] Integer
let y = Biz "Goodbye" 6.0 -- y::Fractional b => Foo [Char] b
let z = Biz True False -- z::Foo Bool Bool