Подтвердить что ты не робот

Можно ли импортировать из нескольких пакетов все сразу в Scala?

В начале моих Scala файлов в конкретном проекте у меня часто бывают такие строки:

package com.mycompany
package subproject

import common._
import uiutils._
import databinding._
import modeling._

Есть ли способ создать объект ProjectImports (или объект пакета), который "префикс" всех этих импортов, чтобы я мог просто написать

import ProjectImports._

вместо всего списка в каждом из моих других файлов проекта?

Связано ли это с тем, как пакет scala импортируется в Predef с помощью scala.`package`?

4b9b3361

Ответ 1

Вы можете сделать это легко, если все необходимые вам импортные элементы являются элементами некоторых свойств. Если у вас есть несколько черт с функциями, внутренними классами и т.д., Вы можете создать объект, унаследованный от всех них. Таким образом, все их материалы можно импортировать с помощью простого import MyObject._. Импорт класса таким образом стал немного сложным - вам нужно создать член типа для каждого класса.

Дополнительные примеры этой техники см. в разделе Casbah Импортировать объект и Объект Scalaz в проекте scalaz.