特定の文字のネストされた文字配列を検索し、配列から文字のインデックスを返そうとしています。
コードスニペット
def search(target: Char, arr:Array[Array[Char]]): List[Int] = {
for (i <- 0 until arr.length) { //search through first layer of array
for (j <- 0 until arr(i).length) { //search through second layer of array
if (arr(i)(j) == target) {
val x = List(i,j)
return x
} }}}
ただし、コンパイルからエラーが発生します。これは、この関数が2つの型シグネチャを返していることを示しています。エラーメッセージ:
error: type mismatch;
found : Unit
required: List[Int]
for (i <- 0 until arr.length) { //search through first layer of array
^
ここで 2 つの同様のスレッドを見つけました。エラーが明らかでないのはなぜですか?見つかった: 必要な単位: Int - これを修正するにはどうすればよいですか ?
しかし、彼らは私が直面している問題を解決しません:リストを返そうとしていますが、コンパイラは for ループでスタックしています..