我正在开发一个代码生成器,它将输出以下类/对象:
class A {
var a : Int = _
var b : B = _
class B {
var b : Int = _
var c : C = _
class C {
var c : Int = _
}
}
}
object A {
val a = ...
object B extends Base {
val b = ...
object C extends Base {
val c = ...
}
}
}
用户构造如下的术语:
A (
a(1),
B (
b(2),
C (
c(3)
)
)
)
现在为了使其工作,我必须在用户代码中插入3个导入:
import A._
import A.B._
import A.B.C._
这看起来很难看。可能有另一种方法可以解决我只是盲目看到的问题吗?
提前谢谢。
答案 0 :(得分:1)
import A._
B
将在导入范围内(至少在Scala 2.8中),因此您可以节省几个字母:
import A._
import B._
import C._
答案 1 :(得分:1)
您可以在生成的代码中使用def
。例如,
object A {
// ... other code
def b = B.b
def C = B.C
def c = C.c
}