2009-08-11 4 views
1

가변 숫자가 FutureFutures.awaitAll을 호출하려고합니다. awaitAllawaitAll(timeout : Long, fts : Future[Any]*)으로 정의됩니다. 나는 ListArray 전달 시도했지만 모두 작동하지 않습니다스칼라에서 반복 매개 변수를 프로그래밍 방식으로 설정

list = future1 :: future2 :: Nil 

Futures.awaitAll(1000, list) 

found : List[scala.actors.Future[Any]] required: scala.actors.Future[Any] 

편집 : 내가 지금하고 싶은 것은 가변 인자 (N 1)와 프로그램 호출 Futures.awaitAll입니다. 따라서 Futures.awaitAll(1000, future1, future2)을 사용하는 것은 옵션이 아닙니다. 스칼라에서 프로그래밍의

장 8.8 역시이 문제를 해결하는 방법을 나에게 어떤 힌트를주지 않았다, 그래서 도움이 (가) * 그것은 가변 인자는 것을 의미 사용

+0

이것은 PinS의 어딘가에서 언급되었지만 매우 간단합니다. –

답변

10

: 환영합니다 ... 그것은 많은 미래를 취할 수 있습니다 추가 할 때 [Any] 매개 변수는 포함되지만 목록/배열은 추가되지 않습니다.

그래서이 같은 매개 변수 목록을 찾고 :

Futures.awaitAll(1000, future1, future2) 

대신

Futures.awaitAll(1000, list) 

의 편집 : 당신이 Futures.awaitAll (1000 목록)에 전달할 수있는 능력을 가지고해야하는 경우, 그런 다음 캐스팅 해보세요.

그래서이 시도 :

Futures.awaitAll(1000, list: _*) 
+0

문제를 명확하게하기 위해 질문을 변경했습니다. – Sebastian

관련 문제