Как расширить класс с неявным параметром в Scala

Класс B(неявный imp: Int) расширяет AC { }

объект C расширяет B {

}

Ошибка: не удалось найти неявное значение для параметра imp

Это то, что я искал: как предоставить значение по умолчанию для неявных параметров на уровне класса

2 ответа

Решение
scala> class B(implicit imp:Int)
defined class B

scala> class C extends B()(1)
defined class C

scala> implicit val imp:Int = 2
imp: Int = 2

scala> class D extends B
defined class D

scala> 

Вы расширяете его так же, как расширяете класс неявными параметрами, но сначала вам нужен пустой список параметров:

scala> object C extends B()(5) {}
defined module C
Другие вопросы по тегам