我正在写一个存储定义类型数组的类。我的代码语法有问题-我认为-。我想在数组中获取定义的类型,但是我的代码不断给出错误。
我已经创建了一个类,写下我需要的数组。我已经尝试过用这些方式编写它;
[|(Rook, Black, (Alive of (A, 1)))]
[|(Rook, Black, (Alive of A, 1))]
[|(Rook, Black, Alive of (A,1))]
[|(Rook, Black, Alive of A,1)]
[|(Rook, Black, (A,1))
但是可悲的是,它显示我的数组为chess_piece * chess_colour * (chess_letter * int)
或给出操作错误。
这是我定义的类型
type chess_letter = A | B | C | D | E | F | G | H
and chess_piece = King | Queen | Rook | Bishop | Knight | Pawn
and chess_colour = Black | White
and chess_position = Alive of chess_letter * int | Dead
数组应包含[|(chess_piece, chess_colour, chess_position)|]
答案 0 :(得分:3)
构造变量Alive
的值的语法为:
Alive (A, 1)
of
仅用于类型定义。而且,无论是在数组内还是数组外,都无济于事。
此外,您的所有数组在语法上都不正确。前四个在结尾的|
之前缺少]
,而最后四个都丢失了。