는 첫 번째 요소는 i
일치 어디 두 목록 임의의 크기의 튜플은
val L1 = List[(Int, Int)]((1,1), (2,2))
val L2 = List[(Int, Int, Int)]((1,1,1), (2,2,2))
지금 내가 int 값 i
에서받는 함수 func
을 만들고 싶어
def func(i:Int) = {
L1.collect.collect{case any if any._1 != i => any}
L2.collect.collect{case any if any._1 != i => any}
}
두 줄이 너무 비슷하다고 생각하면 코드를 짧게 만들면 좋을 것입니다. 나는 func
에 대한 매개 변수로 L1
(및 L2
)을 전달할 수있는 방법을 썼습니다. 이 함수는 튜플에 포함될 요소의 수를 미리 알지 못한다. 첫 번째 요소는 Int
이다.
이것이 가능합니까?
[편집 : 질문이 충분히 명확하지 않았다고 생각합니다. 내 사과.]
내가 원한다. 두 개 이상의리스트에서 이것을 수행하고 싶습니다. 예를 들어, n에 대해, 각리스트에 대해 한 번, func
을 여러 번 호출합니다. 각 L1
가 L2
는 ... Ln
먼저 소자 Int
[EDIT2] 상기에서
, L1
될 수리스트 (Int, String)
의로 튜플리스트이다
L1 = L1.collect.collect{case any if any._1 != i => any}
L2 = L2.collect.collect{case any if any._1 != i => any}
...
Ln = Ln.collect.collect{case any if any._1 != i => any}
, L2
때문일 수 (Int, Int, Int)
등입니다. 유일한 보증은 첫 번째 요소가 Int
입니다.
감사합니다. 나는 'productIterator'를 알지 못했다. 내 문제를 해결하는 것 같습니다. 이 목록은 튜플을 사용하여 무언가를 수행하는 예제를 제공했습니다 (더 나은 튜플이없는 경우). 튜플을 일반적인 방법으로 처리하는 방법을 알아야했습니다. – Jus12
내가하고 싶은 일은 가능하다고 생각하지 않지만 튜플을 처리하는 일반적인 방법 인 것 같습니다. 내가 원하는 것은 L1, L2 등을 재 할당하는 것입니다. – Jus12
@ Jus12 목록을'val'보다는'var's로 정의 할 수 있습니다. 그런 다음'L1 = func (i, L1)'등을 사용하십시오. 필요 –