Является ли импорт scala рекурсивным?

С

import mypack._

мне все еще нужно

import mypack.box.writer
import mypack.box.reader

а также

import mypack.box.parser.stringparser

?

И какое правильное ключевое слово для поиска / Google? "Рекурсивный" дает мне ошеломляющие результаты "хвостовой рекурсии".

1 ответ

Решение

Нет, импорт в Scala не рекурсивный.

Пакеты предназначены для поддержания чистоты пространства имен в текущей области. Импорт всех подпакетов по умолчанию пошел бы против этого.

С другой стороны, импорт относительный, поэтому вы можете сделать это:

import mypack._
import box.writer
import box.reader
import box.parser.stringparser

Некоторым людям не нравится этот стиль, так как он несколько подвержен ошибкам. Мне это не нравится, потому что нет четкого различия между абсолютным и относительным импортом. Тем не менее, иногда это помогает.

Другие вопросы по тегам