2010-07-01 66 views
1

我定義AA類型來表示我的遊戲板:使用用戶定義類型

type Position = (int * Piece) list 

但是,當我創建像這樣的列表:

let board1 = [(1,Piece.BLACK);(2,Piece.WHITE);(3,Piece.BLACK);(4,Piece.WHITE); 
       ...] 

我創建的列表(int * Piece)列表,而不是一個Position。

我該如何改變這種情況?哪種方法是正確的?

如:

val board1 : (int * Piece) list = 
[(1, BLACK); (2, WHITE); (3, BLACK); (4, WHITE); 
+0

見我的答案在這裏。 http://cs.hubfs.net/forums/thread/16066.aspx – Brian 2010-07-01 19:23:47

回答

1

你需要告訴它,如果你希望它使用Position型,否則不知道你想要的(你可以很容易地建立5種類型的都只是(int * Piece) list小號,它不會知道該選哪

您可以通過添加: Position到decleration這樣的強制類型:

type Piece = BLACK | WHITE 
type Position = (int * Piece) list 
let board1 : Position = [(1, BLACK); (2, WHITE); (3, BLACK); (4, WHITE); ]