2009-11-03 51 views
15

我最近聽到一些建議「unimport從PREDEF的隱式轉換」 - 我相信,這意味着有可能unimport不需要的類太:Unimporting在斯卡拉

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

但這並不是語法的「unimport」(即沒有這樣的unimport關鍵字)。什麼是正確的語法?

回答

25

使用導入別名功能,但將「不需要的類」重命名爲「_」。由於「_」不能作爲類名在Scala代碼中訪問,因此它將匿名訪問中的重命名類隱藏起來。

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

嗯 - 這似乎是一個笨拙的黑客':-(' – 2009-11-03 16:53:48

+7

不,這不是黑客攻擊,它只是超負荷的「_」的含義如果在進口條款單獨使用,它意味着一切。如果。在進口重命名的右側使用,這意味着不要導入。 – 2009-11-03 20:11:18

+3

奇怪,但是,嘿,這就是Scala! – 2012-07-04 11:38:00