1

有没有办法从包中导入所有类并通过添加一些文本来重命名它们?一个构造

import packages.{_ => Abc_}

编译但似乎没有做那件事。

4

2 回答 2

3

这不完全是你所追求的,但如果你能忍受一个额外的.角色,你可以写

import com.{packages=>Abc}
val x:Abc.Whatever = new Abc.Whatever(...)
于 2013-05-02T00:48:51.590 回答
2

不,没有办法做这样的事情。

基于 2.9 的“Scala 编程,第 2 版”13.3 定义了规则。我不记得 2.10 的更改中有任何改变导入机制的内容。

给定import package.{selector},选择器可能是以下之一:

  • x, 一个简单的名字

  • x => y, 重命名xy

  • x -> _,隐藏x- 从导入的名称中排除

  • _,包罗万象 - 导入所有名称。

而已。您的变体看起来很有趣,但不在该列表中。{_ => ...}为 的各种值进行编译很有趣...,但不清楚效果与_我运行的几次试验有什么不同。

于 2013-05-01T19:14:31.013 回答