t0421.scala
来自「JAVA 语言的函数式编程扩展」· SCALA 代码 · 共 29 行
SCALA
29 行
// ticket #421object Test extends Application { def transpose[A](xss: Array[Array[A]]) = { for (i <- Array.range(0, xss(0).length)) yield for (xs <- xss) yield xs(i) } def scalprod(xs: Array[Double], ys: Array[Double]) = { var acc = 0.0 for ((x, y) <- xs zip ys) acc = acc + x * y acc } def matmul(xss: Array[Array[Double]], yss: Array[Array[Double]]) = { val ysst = transpose(yss) for (xs <- xss) yield for (yst <- ysst) yield scalprod(xs, yst) } val a1 = Array(Array(0, 2, 4), Array(1, 3, 5)) println(transpose(a1).deepMkString("[", ",", "]")) println(matmul(Array(Array(2, 3)), Array(Array(5), Array(7))).deepMkString("[", ",", "]")) println(matmul(Array(Array(4)), Array(Array(6, 8))).deepMkString("[", ",", "]"))}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?