所以這可能不是解決它的最好方法,但我最初的想法是表達式。 說我有喜歡查找2維斯卡拉列表中的字符
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
。它似乎在抱怨說我的迭代器不匹配返回類型,但我不太明白爲什麼這是或怎麼處理它...
見http://stackoverflow.com/a/8422714/770361 –