有没有办法从包中导入所有类并通过添加一些文本来重命名它们?一个构造
import packages.{_ => Abc_}
编译但似乎没有做那件事。
这不完全是你所追求的,但如果你能忍受一个额外的.
角色,你可以写
import com.{packages=>Abc}
val x:Abc.Whatever = new Abc.Whatever(...)
不,没有办法做这样的事情。
基于 2.9 的“Scala 编程,第 2 版”13.3 定义了规则。我不记得 2.10 的更改中有任何改变导入机制的内容。
给定import package.{selector}
,选择器可能是以下之一:
x
, 一个简单的名字
x => y
, 重命名x
为y
x -> _
,隐藏x
- 从导入的名称中排除
_
,包罗万象 - 导入所有名称。
而已。您的变体看起来很有趣,但不在该列表中。{_ => ...}
为 的各种值进行编译很有趣...
,但不清楚效果与_
我运行的几次试验有什么不同。