使用map函数返回列值 - Scala

时间:2013-11-29 16:10:20

标签: scala map

有没有办法可以使用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 //
    }
}

2 个答案:

答案 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);
}