我正在学习Akka Streams库,并且存在以下混淆。我看到一个隐式传递给GraphDSL.create()(...)调用的Graphbuilder对象。 我无法理解可用的实际生成器对象在哪里?在Akka Streams中传递的隐式GraphBuilder对象在哪里
val g = RunnableGraph.fromGraph(GraphDSL.create() { implicit builder: GraphDSL.Builder[NotUsed] =>
import GraphDSL.Implicits._
val in = Source(1 to 10)
val out = Sink.ignore
val bcast = builder.add(Broadcast[Int](2))
val merge = builder.add(Merge[Int](2))
val f1, f2, f3, f4 = Flow[Int].map(_ + 10)
in ~> f1 ~> bcast ~> f2 ~> merge ~> f3 ~> out
bcast ~> f4 ~> merge
ClosedShape
})
是啊,我也明白,但我想我是想明白是谁提供的实际建设者实例作为输入到程序?它是否可以通过执行'create'来实现? –