加上不在Scala解释器中工作

ast*_*y13 3 interpreter scala

我试图在Scala解释器中使用fold来总结一个列表,但它一直给我一个奇怪的错误.当我输入这个:

val list = List(1,2,3)
(list :\ 0)(+)
Run Code Online (Sandbox Code Playgroud)

我希望得到6.然而,翻译说

error: illegal start of simple expression
(list :\ 0)(+)
             ^
Run Code Online (Sandbox Code Playgroud)

如果我定义自己的功能

def plus(a: Int, b: Int) = a+b
Run Code Online (Sandbox Code Playgroud)

并打电话

(list :\ 0)(plus)
Run Code Online (Sandbox Code Playgroud)

事实上,我确实得到了6.

我确定我在这里遗漏了一些非常简单的东西,但我无法弄明白,所以任何帮助都非常感激.

Nei*_*ssy 10

加号运算符本身不是一个函数,它是一个符号,没有类型.您正在寻找的是以下内容

val list = List(1,2,3)
(list :\ 0)(_+_)
Run Code Online (Sandbox Code Playgroud)

_ + _是一个匿名函数的简写,它接受两个参数,并在第二个参数传递的第一个参数上调用+方法.