我有功能:
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))