2014-06-20 129 views
0

给定两个类A(和B(A:A)我想用它们来构建这样的名单:名称对象

List(val a = A(), B(a))

如何实现这一目标?

回答

1

你不能像这样调用List构造函数时声明一个val。假设A和B是案例类别,请将您的示例分成两行,如下所示:

val a = A() 
List(a, B(a)) 

应该有您想要的效果。

如果目标是减少a范围,你可以做这样的事情:

val l = { 
    val a = A() 
    List(a, B(a)) 
} 

a不会是l定义的外部可见。

+0

是的,我知道。我只是认为有这样的方式。谢谢。 –

+0

你想达到什么目的?如果您试图将范围显示在最小范围内,我已编辑以包含一条建议。 – MHarris

+0

正是我所需要的,以限制范围。我忘记了这种语法:)虽然没有我想要的那么短。非常感谢! –