1
我是新来斯卡拉,我尝试转换形式转换斯卡拉的foreach到.MAP
val series: ListBuffer[Seq[Seq[Any]]] = ListBuffer[Seq[Seq[Any]]]()
points.foreach(point => {
if(conditionA)
series += doA(...) // returns a ListBuffer[Seq[Any]]
else
series += doB(...) // returns a ListBuffer[Seq[Any]]
})
的代码中使用.MAP()。我想它是这样的:
val series: ListBuffer[Seq[Seq[Any]]] = points.map(point => {
case conditionA => doA(...)
case _ => doB(...)
})
但这并不能编译,因为(我相信)映射序列获得附加为一个序列[任何],而不是序列[序列[任何],所以我得到错误
Expression of type Seq[Any] doesn't conform to expected type ListBuffer[Seq[Seq[Any]]]
任何想法?语法有问题吗?
doA和doB副作用? –
不,他们只是以这种方式修改点以返回特定类型的Seq – mathematician