加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

scala – 如何列出所有可用的隐式转换?

发布时间:2020-12-16 10:05:39 所属栏目:安全 来源:网络整理
导读:我知道在SCALA中我可以通过定义一些隐式函数将类型转换为另一种类型,我的问题是,如何在导入大量软件包后知道可以使用哪些转换? 例如,我有一个字符串,而且我怎么知道它可以转换为什么类型? 编辑澄清,我想在我的scala编译插件中执行它,所以我可能需要在一个r
我知道在SCALA中我可以通过定义一些隐式函数将类型转换为另一种类型,我的问题是,如何在导入大量软件包后知道可以使用哪些转换?

例如,我有一个字符串,而且我怎么知道它可以转换为什么类型?

编辑澄清,我想在我的scala编译插件中执行它,所以我可能需要在一个reflect.api.tree类型上调用一个函数,然后得到implicits.我正在寻找一些方法来使用答案中提到的隐式[].

解决方法

在REPL中,您可以调用:implicits以查看除Predef中可用的范围之外的所有范围内隐含. (添加-v也可以看到Predef含义.)

您还可以从代码中的任何位置调用隐式[]函数来测试特定的含义.

scala> implicitly[String => Seq[Char]]
res0: String => Seq[Char] = <function1>

scala> implicitly[String => Array[Char]]
<console>:12: error: No implicit view available from String => Array[Char].
       implicitly[String => Array[Char]]
                 ^

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读