Scala错误:';'预期但发现'='

时间:2014-09-23 07:39:34

标签: scala matrix rotation syntax-error

有人可以帮助我理解为什么以下代码会导致上述错误吗?

该代码用于将2D数组旋转90度。

def rotate90(block: Array[Array[Int]]) = {
  var size: Int = block.size
  var i: Int = 0
  var j: Int = size - 1
  while (j >= 0) {
    while (i <= j) {
      val a = block[j][i]
      val b = block[j - i][j]
      block[j][i] = b
      block[j - i][j] = a 
      i = i + 1
    }
    j = j - 1
  }
  return block
}

1 个答案:

答案 0 :(得分:1)

def rotate90(block: Array[Array[Int]]) = {
   val copy: Array[Array[Int]] = Array.ofDim[Int](block.length, block(0).length)

   for (w <- 0 until block(0).length;
        h <- 0 until block.length) {
            copy(h).update(w, block(block(0).length - 1 - w)(h))
   }
   copy
}

以上是scala解决方案为您解决问题。也许你更好地理解scala中的数组是如何工作的。