swift--枚举
枚舉
enum CompassPoint {
? ? case north
? ? case south
? ? case east
? ? case west
}
var directionToHead = CompassPoint.west
directionToHead = .east
遞歸枚舉indirect
indirect enum ArithmeticExpression {
? ? case number(Int)
? ? case addition(ArithmeticExpression, ArithmeticExpression)
? ? case multiplication(ArithmeticExpression, ArithmeticExpression)
}
let five = ArithmeticExpression.number(5)
let four = ArithmeticExpression.number(4)
let sum = ArithmeticExpression.addition(five, four)
let product = ArithmeticExpression.multiplication(sum, ArithmeticExpression.number(2))
func evaluate(_ expression: ArithmeticExpression) -> Int {
? ? switch expression {
? ? case let .number(value):
? ? ? ? return value
? ? case let .addition(left, right):
? ? ? ? return evaluate(left) + evaluate(right)
? ? case let .multiplication(left, right):
? ? ? ? return evaluate(left) * evaluate(right)
? ? }
}
print(evaluate(product))//18
?
轉載于:https://www.cnblogs.com/huoran1120/p/6137942.html
總結
- 上一篇: Flink – window opera
- 下一篇: Webdriver API (二)