0
我在看下面的HAXE源代码从“模式匹配 - 矩阵匹配”在try.haxe.org例子 -使用抽象为枚举类型?
class Test {
static function main() {
var playerA = {
name: "Simn",
move: Move.Paper
}
var playerB = {
name: "Nicolas",
move: Move.Rock
}
// a switch can directly return something
var winner = switch ([playerA.move, playerB.move]) {
case [Move.Rock, Move.Paper]: playerB;
case [Move.Scissors, Move.Paper]: playerA;
default: null;
}
if (winner != null) {
trace('The winner is: ${winner.name}');
} else {
trace('Draw!');
}
}
}
@:enum
abstract Move(Int) {
var Rock = 1;
var Paper = 2;
var Scissors = 3;
}
我的问题是:
- 是什么符号
@:enum
意味着什么? 他们为什么要创建枚举类型这样,而不是简单地做:
枚举移动 { 岩石; 纸; 剪刀; }