在Haskell中,可以通過關(guān)鍵字data
來定義自定義的數(shù)據(jù)類型。定義數(shù)據(jù)類型的語法如下:
data TypeName = Constructor1 Type1 | Constructor2 Type2 | ...
其中,TypeName
是新數(shù)據(jù)類型的名稱,Constructor1
, Constructor2
等是該數(shù)據(jù)類型可能的構(gòu)造函數(shù),Type1
, Type2
等是構(gòu)造函數(shù)的參數(shù)類型。
例如,我們可以定義一個(gè)表示顏色的數(shù)據(jù)類型:
data Color = Red | Green | Blue
然后,我們可以使用這個(gè)數(shù)據(jù)類型來創(chuàng)建新的值:
redColor = Red
greenColor = Green
blueColor = Blue
我們還可以定義一個(gè)接受Color
類型參數(shù)的函數(shù),例如:
printColor :: Color -> String
printColor Red = "Red"
printColor Green = "Green"
printColor Blue = "Blue"
這樣,我們就可以使用這個(gè)函數(shù)來打印顏色的名稱:
main = do
putStrLn (printColor redColor)
putStrLn (printColor greenColor)
putStrLn (printColor blueColor)
以上是Haskell中自定義數(shù)據(jù)類型的簡單用法,你可以根據(jù)需求自定義更復(fù)雜的數(shù)據(jù)類型,并在程序中使用它們。