相关疑难解决方法(0)

如何在字节码级别实现Scala中的模式匹配?

如何在字节码级别实现Scala中的模式匹配?

它是否像一系列if (x instanceof Foo)结构或其他东西?它的性能影响是什么?

例如,给定以下代码(来自Scala By Example第46-48页),该方法的等效Java代码如何eval

abstract class Expr
case class Number(n: Int) extends Expr
case class Sum(e1: Expr, e2: Expr) extends Expr

def eval(e: Expr): Int = e match {
  case Number(x) => x
  case Sum(l, r) => eval(l) + eval(r)
}
Run Code Online (Sandbox Code Playgroud)

PS我可以读取Java字节码,因此字节码表示对我来说已经足够了,但是对于其他读者来说,知道它看起来像Java代码会更好.

PPS Scala编程是否能够解答这一问题以及有关Scala如何实现的类似问题?我订购了这本书,但尚未到货.

performance scala bytecode pattern-matching

118
推荐指数
3
解决办法
1万
查看次数

标签 统计

bytecode ×1

pattern-matching ×1

performance ×1

scala ×1