Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
F# 使用用户定义的类型_F#_User Defined Types - Fatal编程技术网

F# 使用用户定义的类型

F# 使用用户定义的类型,f#,user-defined-types,F#,User Defined Types,我正在定义一个类型来表示我的游戏的一个棋盘: type Position = (int * Piece) list 但当我创建这样的列表时: let board1 = [(1,Piece.BLACK);(2,Piece.WHITE);(3,Piece.BLACK);(4,Piece.WHITE); ...] 我创建了一个(int*工件)列表,而不是一个位置 我怎样才能改变这个?哪种方法正确 例如: val board1 : (int * Piece) list

我正在定义一个类型来表示我的游戏的一个棋盘:

type Position = (int * Piece) list 
但当我创建这样的列表时:

let board1 = [(1,Piece.BLACK);(2,Piece.WHITE);(3,Piece.BLACK);(4,Piece.WHITE);
              ...]
我创建了一个(int*工件)列表,而不是一个位置

我怎样才能改变这个?哪种方法正确

例如:

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

如果您希望它使用您的
位置
类型,您需要告诉它,否则它不知道您想要什么(您可以轻松创建5种类型,它们都是
(int*Piece)列表
s,它不知道选择哪种类型

您可以通过如下方式将
:Position
添加到declaration来强制输入:

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

如果您希望它使用您的
位置
类型,您需要告诉它,否则它不知道您想要什么(您可以轻松创建5种类型,它们都是
(int*Piece)列表
s,它不知道选择哪种类型

您可以通过如下方式将
:Position
添加到declaration来强制输入:

type Piece = BLACK | WHITE
type Position = (int * Piece) list
let board1 : Position = [(1, BLACK); (2, WHITE); (3, BLACK); (4, WHITE); ]
看看我的答案,看看我的答案。