2010-12-28 6 views
3
val xsa = List(1,2,3) 
val xsb = List(1,2,3) 
for (i <- 0 until xsa.size) { 
    val a = xsa(i) 
    val b = xsb(i) 
    println(a + "_" + b) 
} 

길이를 간단하게하려면 '목록 또는 배열'을 사용하고 싶습니다. 나는 이런 식으로 할 희망 :'for'루프를 단순화하는 방법은 무엇입니까?

for (a <- xsa; b <- xsb) 
    println(a + "_" + b) 

그런데 왜 한 번만 xsb를 반복 하는가?

답변

19
for ((a,b) <- xsa zip xsb) 
    println(a + "_" + b) 
1

점 밖으로`zipped` 방법, THX에 대한 Seq.zip

val x = xsa.zip(xsb) 
for ((a, b) <- x) 
    println(a + "_" + b) 
8
(xsa, xsb).zipped foreach ((a, b) => println (a + "_" + b)) 

또는

(xsa, xsb).zipped map (_ + "_" + _) foreach println 
+0

좋은 시도 –

관련 문제