匹配枚举构造函数

可以使用 模式匹配 来匹配枚举构造函数。

假设以下枚举:

enum Color {
    Red;
    Green;
    Blue;
    RGB(r : Int, g : Int, b : Int);
}

只有绿色通道值的颜色可以匹配如下:

var color = Color.RGB(0, 127, 0);
var isGreenOnly = switch (color) {
    // Match Green or RGB with red and blue values at 0
    case Color.RGB(0, _, 0) | Color.Green: true;
    case _: false;
}

试试 try.haxe.org 上的例子

参考