import scala.reflect.runtime.universe._ scala> val-6ren">
gpt4 book ai didi

scala - 如何获得 Scala REPL :type command in my Scala program 的功能

转载 作者:行者123 更新时间:2023-12-04 22:34:13 24 4
gpt4 key购买 nike

在 REPL 中有一个打印类型的命令:

scala> val s = "House"
scala> import scala.reflect.runtime.universe._
scala> val li = typeOf[List[Int]]
scala> :type s
String
scala> :type li
reflect.runtime.universe.Type

我怎样才能在我的 Scala 程序中获得这个 ":type expr"功能来打印类型?

让我澄清一下我想要的 ":type expr"功能,像这样:
println(s.colonType)   // String
println(li.colonType) // reflect.runtime.universe.Type

如何在 REPL 之外的 Scala 程序中获得这样的“ colonType”方法(我没有可用的 :type 命令)?

最佳答案

以下隐式转换应该为您解决问题:

import reflect.runtime.universe._

implicit class ColonTypeExtender [T : TypeTag] (x : T) {
def colonType = typeOf[T].toString
}

关于scala - 如何获得 Scala REPL :type command in my Scala program 的功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11486298/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com