zip と map で簡単に実装できればまあいいかなと思ったんだけど、
val xs = List(1, 2, 3) val ys = List(4, 5, 6) xs zip ys map { (x, y) => x + y } // error: wrong number of parameters; expected = 1
ぐああー。引数を n 個受け取る関数と n-tuple を 1 つ受け取る関数が区別されるからこんなことに。こう書くしかないのか。
xs zip ys map { case (x, y) => x + y } xs zip ys map { p => p._1 + p._2 } xs zip ys map { p => val (x, y) = p; x + y }
ださいなあ。
あと、scanl も欲しい。自分で実装すりゃいいんだけど。