Scala列表构造函数中的名称对象

时间:2014-06-20 08:32:17

标签: list scala

给定两个类A()和B(a:A)我想用它们构造一个这样的List:

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

如何实现这一目标?

1 个答案:

答案 0 :(得分:1)

在调用List构造函数时,不能声明val。假设A和B是case类,将你的例子分成两行,如下所示:

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

应该有你想要的效果。

如果目标是缩小a的范围,您可以执行以下操作:

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

a将不会在l的定义之外显示。