此文件頁面專門針對 Scala 2 中提供的功能,這些功能已在 Scala 3 中移除或由其他功能取代。除非另有說明,此頁面中的所有程式碼範例都假設您使用的是 Scala 2。
實驗性質
- 準引號(非準確引號)可以指準引號函式庫或其任一 插值器 的任何用法。為了與其他語言中相同概念的實作保持一致(例如 Scheme 和 Racket、Haskell),此名稱未連字號。
- 樹或 AST(抽象語法樹)是透過 Scala 反射 API 的 Tree 類型表示 Scala 程式或其一部分的方式。
- 樹狀結構是指準引號作為表示建立新樹狀結構值的表達式之用法。
- 樹狀解構是指將準引號當作模式,以結構化方式拆解樹狀結構的用法。
- 取消引號是一種將內容放入或從準引號中提取出來的方法。可以在準引號中使用
$
語法來執行。 - 取消引號拼接(或僅拼接)是另一種取消引號的形式,它會將取消引號的內容壓平到一個樹狀結構中。可以使用
..$
或...$
語法來執行。 - 等級是取消引號的壓平程度:
rank($) == 0
、rank(..$) == 1
、rank(...$) == 2
。 - 提升 是一種取消非樹狀結構值的引號,並在
Liftable
類型類別的幫助下將它們轉換為樹狀結構的方法。 - 取消提升 是一種在
Unliftable
類型類別的幫助下,從準引號模式中取消非樹狀結構值的引號的方法。