我正在尝试使用Swift中的Enumeration创建数学表达式。 此枚举可以是常量,具有ComplexNumber类型的关联值(简单结构)。它也可以是平方根表达式,具有递归关联值。 例如,我希望能够在枚举中存储sqrt(sqrt(1 + 2i))。
enum Expression {
case Sqrt(Expression)
case Constant(ComplexNumber)
}
Xcode(6 beta 2)立即崩溃。有什么问题? 根据我在Swift指南中阅读的关于相关值的内容,这应该可行。
答案 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>)
}