有没有办法可以使用map函数访问行的各个元素?我基本上有一个网格,每次找到0时我都需要返回行和列索引。下面显示的代码显示了我如何使用map函数返回行的索引。不是我需要返回列的索引(即该行中的EACH元素的索引)。我是Scala的新手,所以我会感谢任何形式的帮助: - )
def indices = sudoku.grid.map{
row=>row.map{
case 0=> sudoku.grid.indexOf(row) //this returns the index of the row. I need to return the index of the column(i.e. current element being accessed)
case element=> element //
}
}
答案 0 :(得分:0)
我认为你的问题不是很明确,但是如果你交换了
row=>row.map{
case 0=> sudoku.grid.indexOf(row)
case element => element
}
的
row => row.zipWithIndex.map{
case (0, index) => index
case (element, index) => element
}
然后它返回行索引而不是列索引,作为您想要的代码注释。
答案 1 :(得分:0)
来自这个数独作业的问题数量变得愚蠢。而且我不确定你想要什么。
但是,如果你想要一组零的坐标,那么这个怎么样?
def zeroes (grid:Array[Array[Int]]) = {
for {
row <- 0 to 8
col <- 0 to 8
if grid(col)(row) == 0
} yield (col, row);
}