Я очень новичок в scala. У меня есть функцияScala Generic List adition
def listSum[T](xs :List[T])(implicit abc : Numeric[T]): T = {
xs.sum
}
val IntList: List[Int] = List (1, 2, 3, 4)
val DList: List[Double] = List (1.0, 2.0, 3, 4)
пример кода выше работает отлично, но когда я изменяю к функции ниже она перестает работать с ошибкой
не может найти неявное значение для параметра
abc: Numeric[AnyVal]
Поскольку AnyVal
является базовым типом, я могу сделать дополнение, не так ли?
где все подразумеваемые определены?
def listSum(xs :List[AnyVal])(implicit abc : Numeric[AnyVal]) = {
xs.sum
}
val AList: List[AnyVal] = List (1, 2, 3, 4)
Также это не работает, я думаю по той же причине.
def listSum[T](xs :List[T])(implicit abc : Numeric[T]): T = {
xs.sum
}
val BList : List[Boolean] = List(true, false)
println(listSum(BList))
Вы не можете суммировать «anyval», так как не определено, как это сделать. Однако вы можете суммировать «числовые» вещи. Пример 'def listSum [T: Числовой] (xs: Список [T]): T = xs.sum' – Tyth