0

次の方法で入力引数を使用して先物のリストを作成しようとしています

def main( args:Array[String] ){
    val threads = args foreach yield future {
        // Do stuff here
    }
}

しかし、実行しようとするたびに、次のエラーが発生します

error: ';' expected but 'yield' found.
val threads = args foreach yield future { str => 

関数をコンパイルするにはどうすればよいですか?

4

2 に答える 2

3
def main( args:Array[String] ){
    val threads = args map future {
        // Do stuff here
    }
}

foreachものを返しません。mapものを返します。これらは両方とも、反復可能なコレクションで定義されたメソッドです。

yield代わりに、キーワードは、以下に示すように、構成for理解のために呼び出されます)で使用されます

for (arg <- args) yield future {...whatever}
//in general: for(generator) yield (result for each generated element)

(拒否されたpagoda_5bによって編集されましたが、価値があると思います)

于 2013-02-28T22:00:55.283 に答える
1

これはどう:

def main( args:Array[String] ){
  val threads = for(arg <- args ) yield future{1 + 1} 
}
于 2013-02-28T20:34:11.043 に答える