server 发表于 3 天前

来人看看 华为这个代码风格像谁??

enum Expr {
    Num(Float64) |
    Add(Expr, Expr) | Sub(Expr, Expr) | Mul(Expr, Expr) | Div(Expr, Expr)

    public func calc(): Float64 {
      match(this) {
            case Num(number) => number
            case Add(a, b) => a.calc() + b.calc()
            case Sub(a, b) => a.calc() - b.calc()
            case Mul(a, b) => a.calc() * b.calc()
            case Div(a, b) => a.calc() / b.calc()
      }
    }

    public operator func +(that: Expr): Expr {
      return Add(this, that)
    }
    public operator func -(that: Expr): Expr {
      return Sub(this, that)
    }
    public operator func *(that: Expr): Expr {
      return Mul(this, that)
    }
    public operator func /(that: Expr): Expr {
      return Div(this, that)
    }
}

main() {
    let expr = Num(1.2) + Num(3.4) * Num(2.0) - Num(1.0) / Num(2.0)
    println(expr.calc())
}

suyan 发表于 3 天前

纯自研的,不能说华为像谁,应该说谁像华为

domingo 发表于 前天 07:42

华为是缝合怪,聚合了很多优点的

创世魂 发表于 前天 08:59

很多编程语言都借鉴了前人的经验。

server 发表于 前天 09:06

我想搞仓颉中文版,奈何没技术

aronshen 发表于 前天 11:38

这个代码很好理解呀

numbersir 发表于 前天 13:14

仓颉确实挺好,月兔的也好
页: [1]
查看完整版本: 来人看看 华为这个代码风格像谁??