我正在尝试使用输入参数以下列方式创建一个期货列表
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 =>
我需要对我的函数做什么才能编译?
答案 0 :(得分:3)
def main( args:Array[String] ){
val threads = args map future {
// Do stuff here
}
}
foreach
不返回内容。 map
返回内容。它们都是在可迭代集合上定义的方法。
yield
关键字与for
构造(称为 for comprehension )一起使用,如下所示
for (arg <- args) yield future {...whatever}
//in general: for(generator) yield (result for each generated element)
(由pagoda_5b编辑,被拒绝但我认为值得)
答案 1 :(得分:1)
这个怎么样:
def main( args:Array[String] ){
val threads = for(arg <- args ) yield future{1 + 1}
}