Scala - 错误:未找到类型

时间:2016-04-18 08:32:48

标签: scala types

我是Scala的新手,我有一个我无法理解的错误。以下是我array的{​​{1}} :(数字从1到100)

int

接下来我写了一个函数,它返回我的数组的MAX值:

val rdd = sc.parallelize(1 to 100)

但我总是得到这个错误:

rdd.reduce((x, y) => x > y ? x : y)

我真的不知道错误意味着什么,所以我无法找到解决方案。但是,如果我使用这样的函数,它可以工作:

<console>:30: error: not found: type y
              rdd.reduce((x, y) => x > y ? x : y)
                                               ^

感谢您的回答!

1 个答案:

答案 0 :(得分:4)

Scala中没有? :运算符,而是使用if

rdd.reduce((x, y) => if (x > y) x else y)

或者使用max而不是自己构建它:

rdd.reduce((x, y) => x max y)

或使用匿名函数的_语法:

rdd.reduce(_ max _)

或者避免自己构建最大集合:

rdd.max