【发布时间】:2016-08-03 06:22:56
【问题描述】:
假设我需要将一个整数数组左右移动。
val shl : Array[Int] => Array[Int] = a => (a drop 1) :+ 0
val shr : Array[Int] => Array[Int] = a => 0 +: (a dropRight 1)
假设我还需要将整数矩阵左右移动
val shlm: Array[Array[Int]] => Array[Array[Int]] = _ map shl
val shrm: Array[Array[Int]] => Array[Array[Int]] = _ map shr
上下
val zeros: Int => Array[Int] = n => Array.fill(n)(0)
val shum: Array[Array[Int]] => Array[Array[Int]] = m => (m drop 1) :+ zeros(m.length)
val shdm: Array[Array[Int]] => Array[Array[Int]] = m => zeros(m.length) +: (m dropRight 1)
现在我想概括 shl 和 shr 以重用它们来上下移动矩阵。你会怎么做?
【问题讨论】: