2015-12-02 93 views
0

后可观察的项目可以不明白为什么预期以下rxscala代码是不工作:无法打印分组

import rx.lang.scala.Observable 

object MyTest extends App { 

    case class ProjectEvent(projectName: String, description: String) 

    val projectEvents: Observable[ProjectEvent] = Observable.just(
    ProjectEvent("aaa", "d1"), 
    ProjectEvent("bbb", "d2"), 
    ProjectEvent("aaa", "d3") 
) 

    lazy val grouped = projectEvents.groupBy(_.projectName).map { case (projectName, eventsOfThisProject) => 
    println("projectName: " + projectName) 
    eventsOfThisProject.foreach(x => "######### event in project " + projectName + ": " + x) 
    (projectName, eventsOfThisProject) 
    } 

    grouped.foreach(println) 
} 

我由projectName分组的和要打印的每张的项目项目。但是,当我运行此代码时,它只打印:

projectName: aaa 
(aaa,[email protected]) 
projectName: bbb 
(bbb,[email protected]) 

没有######### event in project打印。

我不明白为什么,有什么我错过了?

回答

1

你忘了在此行中使用println

eventsOfThisProject.foreach(x => "######### event in project " + projectName + ": " + x) 

foreach的功能只是转换xString,但并不打印。