在Scala中,我有一个必须以下面的形式初始化的类:
val box = new Box("foo", "bar", "tut")
Run Code Online (Sandbox Code Playgroud)
这是定义它的类:
class Box(boxMembers: String*) {
val members = boxMembers
}
Run Code Online (Sandbox Code Playgroud)
如果我想扩展基类以具有命名参数,如下所示:
class FlexibleBox(big: String, small: String, otherMembers: String*)
extends Box(big + small + otherMembers) {} //pseudo code
Run Code Online (Sandbox Code Playgroud)
如何将3个参数(大,小和其他familyMembers)传递给它的超级构造函数?
类似于mz的答案,但没有转换为List:
class FlexibleBox(big: String, small: String, otherMembers: String*)
extends Box(big +: small +: otherMembers : _*) {}
Run Code Online (Sandbox Code Playgroud)