1

次のスパーク コード スニペットがあります。

しかし、次のエラーが発生します。

:8: エラー: パラメータ タイプがありません。

ここで起こります:

       val index:Int= col1(i) ; tokened +=splitted(index) + " " ;  } } 
                     ^

すべてのプロパティを指定したように見えるため、どこからステップするかわかりません。また、文字列を返す必要があるため、メソッドを文字列 => 文字列 (現在は文字列 -> 単位) にする必要があります。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) + " " ;  
    } 
} 
4

1 に答える 1

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 => { ... }
于 2013-05-06T11:57:35.750 に答える