Scala AST 中的 "stats" 是什么?
What are "stats" in Scala ASTs?
在 docs.scala-lang.org/overviews/quasiquotes/syntax-summary.html#definitions 中,我看到这个 "variable" 到处都是 $stats
。它代表什么?它应该意味着 "statements" 吗?这对我来说有点奇怪,因为你可以有表达式...
嗯,从技术上讲,在 AST 级别上你可以有语句——当你用 val
、var
或 def
声明一个变量、值或方法时,你不能分配给别的东西。当你例如声明一个新案例 class 它也不能被视为一个表达式。
所以 stats
是涵盖所有这些情况的抽象,这就是为什么它出现在 class 的主体、特征和对象中,并且称它们为 [=18 是合理的=] 因为没有更好的名字。
在 docs.scala-lang.org/overviews/quasiquotes/syntax-summary.html#definitions 中,我看到这个 "variable" 到处都是 $stats
。它代表什么?它应该意味着 "statements" 吗?这对我来说有点奇怪,因为你可以有表达式...
嗯,从技术上讲,在 AST 级别上你可以有语句——当你用 val
、var
或 def
声明一个变量、值或方法时,你不能分配给别的东西。当你例如声明一个新案例 class 它也不能被视为一个表达式。
所以 stats
是涵盖所有这些情况的抽象,这就是为什么它出现在 class 的主体、特征和对象中,并且称它们为 [=18 是合理的=] 因为没有更好的名字。