比较枚举而不考虑其参数

5 haxe

让我说清楚,我有这个枚举:

enum Token {
    Number(v:Float);
    Identifier(v:String);
    TString(v:String);
    Var;
    Assign;
    Division;
    // and so on
}
Run Code Online (Sandbox Code Playgroud)

我想检查变量的值是否为标识符,但这不起作用:

if(tk == Token.Identifier) {
Run Code Online (Sandbox Code Playgroud)

它只允许我在传递参数时比较值:

if(tk == Token.Identifier('test')) {
Run Code Online (Sandbox Code Playgroud)

但这只会在标识符为'test'时匹配,但我想匹配任何标识符.

And*_* Li 5

Type.enumConstructor(tk) == "Identifier"
Run Code Online (Sandbox Code Playgroud)

阅读Type doc以获取有关枚举的更多方法.