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]] ^ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |