【问题标题】:Importing declarations from multiple objects at once一次从多个对象导入声明
【发布时间】:2020-09-14 19:10:21
【问题描述】:

我有多个包含case class 声明的对象。例如:

object model1{
   //case classes
}

object model2{
   //case classes
}

object model3{
   //case classses
}

单独导入每个models 很麻烦。是否可以以某种方式一次导入它?

以下不起作用工作

object all{
    import model1._
    import model2._
    import model3._
}

import all._

也许一些宏在这里有用?

【问题讨论】:

  • 在 Scala 2 中没有 AFAIK,Scala 3 将提供 export 功能,这将使这成为可能。

标签: scala class object import


【解决方案1】:

理论上,您可以查看每个这些对象中的所有定义,并生成代码,基本上将 implicitvaldeftype 委托给原始对象中的定义,但那将是:

  1. 慢,因为宏,
  2. IDE 不支持,因为宏。

如果你使用的是 Scala 2.13,你可以尝试使用类似 -Yimports 的东西来配置全局导入,如果你经常使用导入 - 它应该得到最新的 IntelliJ 的支持。

在 Scala 3 上,您将拥有 @Luis Miguel Mejía Suárez 提到的 export

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-08
    • 1970-01-01
    • 2023-01-29
    相关资源
    最近更新 更多