zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    [转载]初学C#之list
    List<>过滤重复的简单方法
    C# List<> 删除
    C# 生成随机字符串
    C#正则表达式之字符替换
    c#中怎么删除一个非空目录
    treeview 点击时选中节点
    教程链接
    iOS 允许后台任务吗?
    Git Add,Git别名等
  • 原文地址:https://www.cnblogs.com/huoran1120/p/6137942.html
Copyright © 2011-2022 走看看