Swift:用关联值检查枚举的相等性

时间:2018-03-10 08:40:35

标签: swift enums pattern-matching

我有一个枚举,其中大多数值只是标签/常量,一个值包装一个字符串。

我想比较这个枚举类型的两个变量,但是==不能编译。这里有什么正确的方法?

枚举类型的结构大致如下:

enum Token {
    case plain(Substring)
    case parenOpen
    case parenClose
    case curlyOpen
    case curlyClose
    case pipe
    case colon
    case eof
}

我想迭代令牌,直到我点击某个令牌,所以我有一个基本上带有endToken参数的函数。我的想法是,如果我看到parenOpen令牌,我想要处理令牌,直到我看到parenClose,如果我看到curlyOpen我想要处理令牌,直到我看到curlyClose,但这是一个变量,取决于我之前看到的,所以我需要检查一个变量。

我怎样才能做到这一点?

编辑:

有人建议这是关于匹配模式内部的另一个问题的副本。它不一样。我想忽略值的内部,只是匹配值本身!

0 个答案:

没有答案