準引號

語法摘要

語言
此文件頁面特定於 Scala 2 中發布的功能,這些功能已在 Scala 3 中移除或由其他選項取代。除非另有說明,此頁面中的所有程式碼範例都假設您使用 Scala 2。

Denys Shabalin 實驗性

表達式

  準引號 類型
空值 q"" EmptyTree
文字 q"$value" 文字
識別碼 q"$tname"q"name" 身分
選取 q"$expr.$tname" 選取
超級選取 q"$tpname.super[$tpname].$tname" 選取
q"$tpname.this"
應用 q"$expr(...$exprss)" 套用
類型應用 q"$expr[..$tpts]" 類型套用
指派 q"$expr = $expr" 指派、指派或命名參數
更新 q"$expr(..$exprs) = $expr"
傳回 q"return $expr" 傳回
擲回 q"throw $expr" 擲回
歸屬 q"$expr: $tpt" 類型化
註解 q"$expr: @$annot" 註解
元組 q"(..$exprs)"
區塊 q"{ ..$stats }" 區塊
如果 q"if ($expr) $expr else $expr" 如果
樣式比對 q"$expr match { case ..$cases }" 比對
嘗試 q"try $expr catch { case ..$cases } finally $expr" 嘗試
函式 q"(..$params) => $expr" 函式
部分函式 q"{ case ..$cases }" 比對
While 迴圈 q"while ($expr) $expr" 標籤定義
Do-While 迴圈 q"do $expr while ($expr)" 標籤定義
For 迴圈 q"for (..$enums) $expr"
For-Yield 迴圈 q"for (..$enums) yield $expr"
新增 q"new { ..$earlydefns } with ..$parents { $self => ..$stats }"
XML 文字 原生不支援

類型

  準引號 類型
空類型 tq"" 類型樹
類型識別碼 tq"$tpname"tq"Name" 身分
單例類型 tq"$ref.type" 單例類型樹
類型投影 tq"$tpt#$tpname" 從類型樹選取
類型選取 tq"$ref.$tpname" 選取
超類型選取 tq"$tpname.super[$tpname].$tpname" 選取
此類型選取 tq"this.$tpname" 選取
已套用類型 tq"$tpt[..$tpts]" 已套用類型樹
註解類型 tq"$tpt @$annots" 註解
複合類型 tq"..$parents { ..$defns }" 複合類型樹
存在類型 tq"$tpt forSome { ..$defns }" 存在類型樹
元組類型 tq"(..$tpts)"
函數類型 tq"(..$tpts) => $tpt"

模式

  準引號 類型
萬用字元模式 pq"_" 身分
文字模式 pq"$value" 文字
繫結模式 pq"$name @ $pat" 繫結
萃取模式 pq"$ref(..$pats)" 套用、取消套用
類型模式 pq"_: $tpt" 類型化
替代模式 pq"$first │ ..$rest" 替代
元組模式 pq"(..$pats)" 套用、取消套用
XML 模式 原生不支援

定義

  準引號 類型
Val q"$mods val $tname: $tpt = $expr"q"$mods val $pat = $expr" ValDef
Var q"$mods var $tname: $tpt = $expr"q"$mods var $pat = $expr" ValDef
Val 模式 q"$mods val $pat: $tpt = $expr"
Var 模式 q"$mods var $pat: $tpt = $expr"
方法 q"$mods def $tname[..$tparams](...$paramss): $tpt = $expr" DefDef
次要建構函式 q"$mods def this(...$paramss) = this(..$argss)" DefDef
類型 q"$mods type $tpname[..$tparams] = $tpt" TypeDef
類別 q"$mods class $tpname[..$tparams] $ctorMods(...$paramss) extends { ..$earlydefns } with ..$parents { $self => ..$stats }" ClassDef
特質 q"$mods 特質 $tpname[..$tparams] 延伸 { ..$earlydefns } with ..$parents { $self => ..$stats }" 特質定義
物件 q"$mods 物件 $tname 延伸 { ..$earlydefns } with ..$parents { $self => ..$body }" 模組定義
套件 q"套件 $ref { ..$topstats }" 套件定義
套件物件 q"套件物件 $tname 延伸 { ..$earlydefns } with ..$parents { $self => ..$stats }" 套件定義

輔助

  準引號 類型
匯入 q"匯入 $ref.{..$sels}" 匯入
案例子句 cq"$pat 如果 $expr => $expr" 案例定義
產生器列舉器 fq"$pat <- $expr"
值定義列舉器 fq"$pat = $expr"
防護列舉器 fq"如果 $expr"

縮寫

未引號字首暗示下列

當名稱有後綴 s 時,表示它是某個項目的 Listss 表示 List of Lists。因此,例如 exprss 表示 List of Lists of expressions。

此頁面的貢獻者