【发布时间】:2018-02-27 14:16:06
【问题描述】:
在 docs.scala-lang.org/overviews/quasiquotes/syntax-summary.html#definitions 中,我到处都能看到这个名为 $stats 的“变量”。它代表什么?它应该是“陈述”的意思吗?这对我来说有点奇怪,因为你可以表达......
【问题讨论】:
标签: scala metaprogramming scala-quasiquotes
在 docs.scala-lang.org/overviews/quasiquotes/syntax-summary.html#definitions 中,我到处都能看到这个名为 $stats 的“变量”。它代表什么?它应该是“陈述”的意思吗?这对我来说有点奇怪,因为你可以表达......
【问题讨论】:
标签: scala metaprogramming scala-quasiquotes
嗯,从技术上讲,在 AST 级别上,您可以使用语句 - 当您使用 val、var 或 def 声明变量、值或方法时,您不能将其分配给其他东西。当你例如声明一个新的案例类,它也不能被视为一个表达式。
所以stats 是涵盖所有这些情况的抽象,这也是为什么它出现在类、特征和对象的主体中,并且由于缺乏更好的名称而称它们为“语句”是合理的。
【讨论】: