2009-11-03 1 views
15

Я недавно услышал несколько советов «unimport неявного преобразования из Predef» - я полагаю, что это означает, что можно unimport нежелательных классов тоже:Unimporting в Scala

import java.awt._ 
unimport java.awt.List 

Но это не синтаксис «unimport» (т.е. нет такого ключевого слова unimport). Каков правильный синтаксис?

ответ

25

Используйте функцию псевдонима импорта, но переименуйте «нежелательный класс» в «_». Поскольку «_» невозможно получить в коде Scala как имя класса, он скрывает переименованный класс от неквалифицированного доступа.

import java.awt.{List => _, _} 
+2

Хммм - это кажется неуклюжим хака ':-(' –

+7

Нет, это не хак, это просто перегрузка значений «_» Если используется один в пункте импорта, это означает, что все, если.. используется в правой части импорта, это означает, что вы не импортируете. –

+3

Странно, но эй, это Scala! –