1

Futures.awaitAll可変数の井戸で呼び出しようとしています... Futures。awaitAllとして定義されawaitAll(timeout : Long, fts : Future[Any]*)ます。Listaと anを渡そうとしましたArrayが、両方とも機能しません。

list = future1 :: future2 :: Nil

Futures.awaitAll(1000, list)

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

編集:私が今やりたいことはFutures.awaitAll、可変数の引数(1からn)を使用してプログラムで呼び出すことです。したがって、使用Futures.awaitAll(1000, future1, future2)はオプションではありません。

Programming in Scala の 8.8 章でも、これを解決する方法のヒントが得られなかったので、助けを歓迎します :)

4

2 に答える 2

10

* を使用すると、可変引数であることを意味します...追加した数の Future[Any] パラメータを使用できますが、それらのリスト/配列は使用できません。

したがって、次のようなパラメーター リストを探しています。

Futures.awaitAll(1000, future1, future2)

それ以外の

Futures.awaitAll(1000, list)

編集: Futures.awaitAll(1000, list) を渡す必要がある場合は、キャストしてみてください。

だからこれを試してください:

Futures.awaitAll(1000, list: _*)
于 2009-08-11T14:46:26.937 に答える
1
Futures.awaitAll(1000, futures: _*)

動作するはずです(今はテストできません)。Scala 言語仕様の 4.6.2 を参照してください。

于 2009-08-11T15:09:24.713 に答える