當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Scala Exprs.unapply用法及代碼示例


unapply 方法(或屬性)屬於 scala.quoted.Exprs 對象(object),其相關用法說明如下。

用法:

def unapply[T](exprs: Seq[Expr[T]])(using FromExpr[T])(using Quotes): Option[Seq[T]]

匹配文字常量值表達式的文字序列並返回值序列。

用法:

inline def sum(args: Int*): Int = ${ sumExpr('args) }
def sumExpr(argsExpr: Expr[Seq[Int]])(using Quotes): Expr[Int] = argsExpr match
  case Varargs(Exprs(args)) =>
  case Varargs(Exprs(args)) =>
    // args: Seq[Int]
    ...
}

要直接獲取序列 exprs: Seq[Expr[T]] 中所有表達式的值,請考慮改用 exprs.map(_.value) /exprs.map(_.valueOrError)

源碼:

Exprs.scala

相關用法


注:本文由純淨天空篩選整理自scala-lang.org大神的英文原創作品 Exprs.unapply。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。