【问题标题】:Unimporting in Scala在 Scala 中取消导入
【发布时间】:2009-11-03 16:10:00
【问题描述】:

我最近听到了一些关于“从 Predef 取消导入隐式转换”的建议 - 我认为这意味着 unimport 也可以使用不需要的类:

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

但这不是“unimport”的语法(即没有这样的unimport关键字)。正确的语法是什么?

【问题讨论】:

    标签: scala import


    【解决方案1】:

    使用导入别名功能,但将“不需要的类”重命名为“_”。由于“_”不能在 Scala 代码中作为类名访问,因此它隐藏了重命名的类以防止非限定访问。

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

    【讨论】:

    • 嗯 - 这似乎是一个笨拙的 hack :-(
    • 不,这不是 hack,它只是重载了“_”的含义。如果在导入子句中单独使用,则意味着一切。如果使用在导入重命名的右侧,则表示不导入。
    • 很奇怪,但是,这就是 Scala!
    猜你喜欢
    • 2011-02-09
    • 1970-01-01
    • 2017-07-02
    • 2017-01-16
    • 2014-07-05
    • 2013-04-07
    • 2015-10-24
    • 2016-04-06
    • 1970-01-01
    相关资源
    最近更新 更多