Scala에서 Tuple의 zipped
Scala 2.10.1
val a = List.range(1, 4) // List(1,2,3) val b = List.range(10, 40, 10) // List(10,20,30) a zip b // List((1, 10), (2, 20), (3, 30)) a zip b map ((x,y) => x+y) // ERROR : wrong number of parameters, expected 1 a zip b map (((x, y)) => x+y) // ERROR : not a legal formal parameter a zip b map (Tuple2(x,y) => x+y) // ERROR : not a legal formal parameter (a, b).zipped.map(_+_) // List(11, 22, 33) val c = List.range(100, 400, 100) // List(100, 200, 300) a zip b zip c // List(((1,10), 100), ((2, 20), 200), ((3, 30), 300)) a.zip(b, c) // ERROR : too many arguments (a, b, c).zipped.toList // List((1, 10, 100), (2, 20, 200), (3, 30, 300)) (a, b, c).zipped.map(_+_+_) // List(111, 222, 333)
댓글