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


Scala compiletime.erasedValue用法及代碼示例


erasedValue 方法(或屬性)屬於 scala.compiletime 包(package),其相關用法說明如下。

用法:

erased def erasedValue[T]: T

當你有一個類型時使用這個方法,它沒有一個值但想在它上麵進行模式匹配。例如,給定類型 Tup <: Tuple ,可以在其上使用 pattern-match,如下所示:

package scala.compiletime
trait Snippet0 { self: compiletime.package$package.type =>
  type Tup
  inline def f = {
  inline erasedValue[Tup] match {
    case _: EmptyTuple => ???
    case _: (h *: t) => ???
  }
  }
}

該值隻能在內聯匹配中使用,並且不能在分支中使用。

源碼:

package.scala

相關用法


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