[英]Creating data type in Haskell
我想創建一個新的數據類型,該數據類型可以使用Start或A tuple of values。 這就是我所擁有的:
type Coord = (Int, Int)
data Direction = N | E | S | W
deriving (Eq, Show, Read)
type Move = (Coord, Direction)
type BoardSpec = [(Coord, Bool)]
type GameTreeNode = (GameTree2, BoardSpec, Move)
data GameTree2 = Start | GameTreeNode deriving(Show)
blahblah :: GameTree2
blahblah = blahb
blahb :: GameTreeNode
blahb = (Start, testbo, ((1, 1), N))
但是,這給了我錯誤
Couldn't match type `(GameTree2, Move)' with `GameTree2'
Expected type: GameTree2
Actual type: GameTreeNode
數據GameTree2 =開始|
GameTreeNode派生(顯示)
擴展為:
data GameTree2 = Start | (GameTree2, BoardSpec, Move) deriving(Show)
您不能使元組成為您類型的有效值。
您需要將其包裝在構造函數中:
data GameTree2 = Start | Node GameTreeNode deriving(Show)
Node
是您為其選擇的任何名稱。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.