此文档页面特定于 Scala 2 中提供的功能,这些功能已在 Scala 3 中删除或被替代方案取代。除非另有说明,此页面中的所有代码示例均假定您使用的是 Scala 2。
实验性
- 准引号(不是准引号)可以指准引号库或其 插值器 之一的任何用法。为了与其他语言中相同概念的实现保持一致,名称没有连字符(例如 Scheme 和 Racket、Haskell)
- 树或AST(抽象语法树)是通过 Scala 反射 API 的树类型表示 Scala 程序或其一部分的方式。
- 树构造是指将准引号用作表达式来表示创建新树值。
- 树解构是指将准引号用作模式来结构性地分解树。
- 取消引用是一种将内容放入准引号或从中提取内容的方法。可以在准引号中使用
$
语法执行此操作。 - 取消引用拼接(或简称拼接)是取消引用的另一种形式,它将取消引用的内容展平为树。可以使用
..$
或...$
语法执行此操作。 - 等级是取消引用的展平程度:
rank($) == 0
、rank(..$) == 1
、rank(...$) == 2
。 - 提升是一种取消引用非树值并借助
Liftable
类型类将它们转换为树的方法。 - 取消提升 是通过
Unliftable
类型类取消引用准引号模式中非树值的方法。