当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。