我下面从coursera课程而这个例子出现在演讲,但是当我尝试运行它,它如下抛出一个错误:了解斯卡拉钻营
在对象的HelloWorld缺少参数列表方法的MapReduce
未应用的方法仅在预期函数类型时才转换为函数。 您可以通过编写
mapReduce _
或mapReduce(_,_,_)(_,_)
而不是mapReduce
来明确此转换。变种斗= MapReduce的(X => X,(X,Y)=> X * Y,0)
下面是我要执行的代码。
def mapReduce(map: Int => Int, combine: (Int,Int)=>Int,
zero: Int)(a: Int,b: Int): Int = {
if (a>b) zero
else combine(map(a), mapReduce(map,combine,zero)(a+1,b))
}
var doo = mapReduce(x => x, (x,y)=>x*y, 0)
println(doo(1,4))
谢谢添加下划线的作品:D神奇 – pannu