scala – 如何一次导入几个隐式?
发布时间:2020-12-16 18:57:31 所属栏目:安全 来源:网络整理
导读:我的应用程序有几个隐式上下文. 喜欢 import scala.collection.JavaConversions._ import HadoopConversion._ etc 现在我必须复制粘贴每个文件的所有导入.是否可以将它们组合在一个文件中并只进行一次导入? 解决方法 默认情况下,某些库提供的一种很好的技术
我的应用程序有几个隐式上下文.
喜欢 import scala.collection.JavaConversions._ import HadoopConversion._ etc 现在我必须复制粘贴每个文件的所有导入.是否可以将它们组合在一个文件中并只进行一次导入? 解决方法
默认情况下,某些库提供的一种很好的技术是将含义捆绑到特征中.这样,您可以通过定义扩展其他隐式捆绑特征的特征来组合implicits集.然后,您可以使用以下内容在scala文件的顶部使用它.
import MyBundleOfImplicits._ 或者通过将其混合在您需要的地方来提高选择性. object Main extends App with MyBundleOfImplicits { // ... } 不幸的是,使用像JavaConversions这样的方法,要使用此方法,您需要重新定义要在特征中使用的所有隐含. trait JavaConversionsImplicits { import java.{lang => jl} import java.{util => ju} import scala.collection.JavaConversions implicit def asJavaIterable[A](i : Iterable[A]): jl.Iterable[A] = JavaConversions.asJavaIterable(i) implicit def asJavaIterator[A](i : Iterator[A]): ju.Iterator[A] = JavaConversions.asJavaIterator(i) } trait MyBundleOfImplicits extends JavaConversionsImplicits with OtherImplicits (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |