来人看看 华为这个代码风格像谁??
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())
}
纯自研的,不能说华为像谁,应该说谁像华为 华为是缝合怪,聚合了很多优点的 很多编程语言都借鉴了前人的经验。 我想搞仓颉中文版,奈何没技术 这个代码很好理解呀 仓颉确实挺好,月兔的也好
页:
[1]