0
假设我需要枚举给定小区的所有邻居Vector[Vector[Int]]
邻居
type Matrix = Vector[Vector[Int]]
def neighbors(i: Int, j: Int, m: Matrix): Seq[Int] = ???
我写neighbors
这样的:
def neighbors(i: Int, j: Int, m: Matrix): Seq[Int] = for {
dx <- -1 to 1
dy <- -1 to 1
if (dx | dy) != 0 && m.indices.contains(i + dx) && m(i).indices.contains(j + dy)
} yield m(i + dx)(j + dy)
此实现看起来不错,但有点尴尬。你能提出一个更好的解决方案吗
可以简化'.indices.contains(...)'来的更直接的'.isDefinedAt(...)'。 – jwvh
好点。谢谢 ! – Michael