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


Scala reflectModule.ByNameType用法及代码示例


ByNameType 方法(或属性)属于quoted.Quotes.reflectModule特性(trait),其相关用法说明如下。

用法:

type ByNameType <: TypeRepr

=>T 类型的 by-name 定义的类型。

可以代表by-name参数如thunk in

package scala.quoted
trait Snippet0 { self: runtime.QuoteUnpickler & scala.quoted.runtime.QuoteMatching &    scala.quoted.Quotes =>
  val QuoteUnpickler = self
  val QuoteMatching = self
  val Quotes = self
  trait Snippet1 { self: Quotes.reflect.type /*Quotes.reflectModule*/ &    Quotes.reflectModule =>
    val reflect = self
    val reflectModule = self
    type T
    def log[T](thunk: => T): T = ???
  }
}

也可以表示无参数方法定义的返回类型,例如

package scala.quoted
trait Snippet0 { self: runtime.QuoteUnpickler & scala.quoted.runtime.QuoteMatching &    scala.quoted.Quotes =>
  val QuoteUnpickler = self
  val QuoteMatching = self
  val Quotes = self
  trait Snippet1 { self: Quotes.reflect.type /*Quotes.reflectModule*/ &    Quotes.reflectModule =>
    val reflect = self
    val reflectModule = self
    def foo: Int = ???
  }
}

源码:

Quotes.scala

相关用法


注:本文由纯净天空筛选整理自scala-lang.org大神的英文原创作品 reflectModule.ByNameType。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。