所以这可能不是解决它的最佳方法,但我最初的想法是表达。说我有一个类似的列表
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
。似乎在抱怨我的迭代器与返回类型不匹配,但我不太明白为什么会这样或该怎么做......