有没有办法让这段代码的版本使用trait中定义的默认值?
trait A { // alternately `abstract class A`
def x: String
def y: Int = 1
}
final case class B(x: String, y: Int) extends A
val b = B("ok") // -> errors out
// I'd like this to turn into a B("ok", 1),
// by using the default y value from A, but this doesn't work
// and similarly something like
object B {
def apply(x: String): B = {B(x, A.y)}
}
// doesn't work either
字符串
1条答案
按热度按时间col17t5w1#
基于你没有提供任何东西比代码,我只能建议如何使它编译,但我不认为设计是完全好的。
对于第一种方法
字符串
对于第二种情况
型
如果方法
x
和y
没有关系,你可以在不同的traits/classes/singletons中使用