Импорт объявлений сразу из нескольких объектов - PullRequest
0 голосов
/ 27 мая 2020

У меня есть несколько объектов, содержащих case class объявления. Например:

object model1{
   //case classes
}

object model2{
   //case classes
}

object model3{
   //case classses
}

Импорт каждого из этих model по отдельности является обременительным. А можно как-нибудь сразу импортировать?

Следующее не работает работает

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

import all._

Может здесь какой-нибудь макрос пригодится?

1 Ответ

2 голосов
/ 28 мая 2020

Теоретически вы могли бы просмотреть все определения в каждом из этих объектов и сгенерировать код, который в основном делегирует implicit, val, def, type определению в исходном объекте, но это будет :

  1. медленно, потому что макросы,
  2. не поддерживаются IDE, потому что макросы.

Если вы используете Scala 2.13, вы можете попробовать использовать что-то вроде -Yimports для настройки глобального импорта, если вы используете импорт очень часто - он должен поддерживаться новейшими IntelliJ .

На Scala 3 вы будете иметь экспорт , как упоминал @Luis Miguel Mejía Suárez.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...