我有以下火花代码段。
但是得到以下错误:
:8:错误:缺少参数类型。
在这里发生:
val index:Int= col1(i) ; tokened +=splitted(index) + " " ; } }
^
我无法解决它从哪里走出来,因为我似乎已经指定了所有属性。我还需要返回字符串,以便方法为string => string(目前是字符串 - > unit)这是我第一次在scala编码,所以如果这是一个愚蠢的问题,请道歉
line => { var col1:Array[Int] = Array(1,2) ; var tokened:String = "" ;
var splitted:Array[String]=line.split(" ") ;
for (i<- 0 to col1.length) {
val index:Int= col1(i);
tokened +=splitted(index) + " " ;
}
}
答案 0 :(得分:1)
我想这就是你需要的:
(line: String) => { /* Previously missing type annotation */
var col1:Array[Int] = Array(1,2)
var tokened:String = ""
var splitted:Array[String]=line.split(" ")
for (i<- 0 to col1.length) {
val index:Int= col1(i)
tokened += splitted(index) + " "
}
tokened /* Return value */
}
为了使函数类型显式化,您可以将匿名函数存储在函数类型变量中:
val f: (String => String) = line => { ... }