Scala未指定类型

时间:2013-05-06 11:51:20

标签: scala

我有以下火花代码段。

但是得到以下错误:

  

: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) + " " ;  
    } 
} 

1 个答案:

答案 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 => { ... }