有没有办法从包中导入所有类并通过添加一些文本来重命名它们?一个构造
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- 从导入的名称中排除
_,包罗万象 - 导入所有名称。
而已。您的变体看起来很有趣,但不在该列表中。{_ => ...}为 的各种值进行编译很有趣...,但不清楚效果与_我运行的几次试验有什么不同。