次の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)
}
をグループ化し、projectEvents
各projectName
プロジェクトのアイテムを印刷したいと考えています。しかし、このコードを実行すると、次のように表示されます。
projectName: aaa
(aaa,rx.lang.scala.JavaConversions$$anon$2@49de17f4)
projectName: bbb
(bbb,rx.lang.scala.JavaConversions$$anon$2@52f6438d)
######### event in project
プリントはありません。
理由がわかりません。見逃したものはありますか?