したがって、これはそれに取り組むための最良の方法ではないかもしれませんが、私の最初の考えは表現のためでした. 次のようなリストがあるとします
List(List('a','b','c'),List('d','e','f'),List('h','i','j'))
文字の行と列を見つけたいと思います'e'
.
def findChar(letter: Char, list: List[List[Char]]): (Int, Int) =
for {
r <- (0 until list.length)
c <- (0 until list(r).length)
if list(r)(c) == letter
} yield (r, c)
よりエレガントな方法があれば、私はすべて耳にしますが、これの何が問題なのかを理解したいと思います。具体的には、コンパイラがここで私に与えるエラーは
type mismatch; found : scala.collection.immutable.IndexedSeq[(Int, Int)] required: (Int, Int)
に割り当てる行でr
。私のイテレータが戻り値の型と一致しないと不平を言っているようですが、これがなぜなのか、どうすればよいのかよくわかりません...