を解析ストリーム。私はこの回避策を実行しましたアッカは、私が<code>Source</code>に</p> <pre><code>val flow : FlowOps = Source(1 to 10).map(_+1) </code></pre> <p>を解析したいが、簡単な方法がないように見えるソース
Source.fromGraph(
GraphDSL.create() { builder =>
val flow = Source(1 to 10).map(_+1)
SourceShape(builder.add(flow).out)
}
)
単純なストリームを再びグラフに変換するために、単純なストリームを変換するために過剰殺しているようです。もっと簡単な方法はありますか?
私はちょっと混乱しています。私はそれがintellijドキュメントのためだと思います。私が次のようにタイプすると 'Source(1 to 10).map(_。toString)' intellijはこの型を示します: 'Source [Int、NotUsed] #Repr [String]'。それはどういう意味ですか?? – RoberMP
@RoberMPでは、このパターンはScalaコレクションの特性「* Like」に似ています。 'TraversableLike [+ T、+ Repr]'となります。 'Repr'は、特性を実装する型を(大まかに)指定します。あなたが 'Source'ソース(意図していない)を開くと' Repr [O] 'は' Source [O、Mat] 'として定義されています。つまり、あなたと同じマテリアライズドタイプのソース'map()'を別の要素型で呼び出しているかもしれません。 –
@RoberMPこれは 'map()'のような操作が 'Source'と' Flow'の両方によって拡張された 'FlowOps'で定義されているので必要ですが、' flow.map() 'が' Flow' 'source'を返す' source.map() 'を返します。何らかの 'Repr'パターンがなければ、フローとソースに対する操作は非常に不自然で扱いにくい共通の型を返す必要があります。 –