一种在每个导入的类前添加字母的方法

时间:2013-05-01 15:17:26

标签: scala syntax import

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

import packages.{_ => Abc_}

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

2 个答案:

答案 0 :(得分:3)

这不完全是你所追求的,但如果你能忍受额外的.字符,你可以写

import com.{packages=>Abc}
val x:Abc.Whatever = new Abc.Whatever(...)

答案 1 :(得分:2)

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

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

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

  • x,一个简单的名称

  • x => y,将x重命名为y

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

  • _,catch-all - 导入所有名称。

就是这样。您的变体看起来很有趣,但不在该列表中。有趣的是{_ => ...}...的各种值编译,但是对于我跑的少数试验,效果与_不同,这一点并不清楚。