Swift枚举递归关联值

时间:2014-06-19 15:18:13

标签: math recursion enums swift

我正在尝试使用Swift中的Enumeration创建数学表达式。 此枚举可以是常量,具有ComplexNumber类型的关联值(简单结构)。它也可以是平方根表达式,具有递归关联值。 例如,我希望能够在枚举中存储sqrt(sqrt(1 + 2i))。

enum Expression {
    case Sqrt(Expression)
    case Constant(ComplexNumber)
}

Xcode(6 beta 2)立即崩溃。有什么问题? 根据我在Swift指南中阅读的关于相关值的内容,这应该可行。

1 个答案:

答案 0 :(得分:1)

从beta 4开始,现在可以使用Swift 2.0。 从发行说明中获取的示例:

 enum List<T> {
   case Nil
   indirect case Cons(head: T, tail: List<T>)
 }

 indirect enum Tree<T> {
   case Leaf(T)
   case Branch(left: Tree<T>, right: Tree<T>)
 }