【发布时间】:2012-09-25 19:35:04
【问题描述】:
考虑一下,我想实现一些功能,将Long => T 应用于整数范围a..b 并累积T 类型的结果(这是练习,而不是寻找有效的解决方案)
def sum[T <: Number](f: Long => T)(a: Long, b: Long): T = {
def loop(acc: T, n: Long): T =
if (n > b)
acc
else
loop(acc + f(n), n + 1)
loop(0, a)
}
loop(0, 抱怨的缺陷
error: type mismatch;
found : Int(0)
required: T
loop(0, a)
我明白为什么,但是在这里给数字类型T 0 的选项是什么?如果有的话,当然可以。
【问题讨论】: