在scala的foreach中执行多个操作?

时间:2017-11-24 08:39:01

标签: scala function foreach

让我说我有这个ListBuffer,我正在填写scala foreach,如下所示:

Tokens.foreach(t => tokens+=new Token(t._1.toString()))

我想知道是否可以同时执行另一个操作 - 例如添加到字符串之类的内容:

Tokens.foreach(t => tokens+=new Token(t._1.toString()), posTagString+=t._2.toString())

第二个示例导致"方法foreach" 错误的参数(2)太多。有没有办法做到这一点,或者我只是坚持以下形式:

   for(x<-Tokens){

    }

2 个答案:

答案 0 :(得分:1)

试试这个? :

Tokens.foreach{t => 
  tokens+=new Token(t._1.toString())
  posTagString+=t._2.toString()
}

答案 1 :(得分:1)

您也可以使用地图

来达到您的要求
Tokens.map(t => {
  tokens += new Token(t._1.toString())
  posTagString += t._2.toString()
})