2017-05-23 5 views
0

스칼라에서 시작하고지도 함수를 사용하여 목록을 반복하는 동안 인덱스를 가져 오려고합니다.스칼라 :지도 함수에서 인덱스 가져 오기

예를 들어, 나는이 코드 줄이 있습니다

val x= list.flatMap(l => anotherFunction(l.param1.param2List.size * l.multiplier, l, l.param1.param2List(0))) 

을 그리고 나는 이런 식으로 뭔가를하고 싶어 :

val x= list.flatMap(l => anotherFunction(l.param1.param2List.size * l.multiplier, l, l.param1.param2List(index))) 

이 거기에 같은 카운터 또는 무언가를 추가 할 수있는 방법을 for 사이클에서리스트를 반복하는 것처럼 인덱스를 얻기 위해서? 다른 방법을 시도해도 될까요? 아니면해야합니까?

val l = List(1, 2, 4) 
val r = l.zipWithIndex 

이 컬렉션에 API 문서를 읽어 보시기 바랍니다 :

+7

가능한 복제 [어떻게지도 및 스칼라에서뿐만 아니라 인덱스를받을 수 있습니다?] (https://stackoverflow.com/questions/2213323/how-can-i-use-map-and- 잘 - 스칼라로 인덱스 받기) –

+0

그것은 중복입니다 : 즉, https://stackoverflow.com/questions/20363754/accessing-an-index-in-a-list-in-scala – Pavel

답변

0
val x = list.zipWithIndex.flatMap(elem => anotherFunction(elem._1.param1.param2List.size * elem._1.multiplier, elem._1, elem._1.param1.param2List(elem._2)))