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)

댓글

이 블로그의 인기 게시물

scite 한글 설정

터미널에서 스칼라 파일 직접 컴파일, 실행

로잉 머신 운동 2달째