Je veux analyserflux Akka Parse à la source
val flow : FlowOps = Source(1 to 10).map(_+1)
à un Source
mais ressemble il n'y a pas une façon simple. Je l'ai fait cette solution de contournement
Source.fromGraph(
GraphDSL.create() { builder =>
val flow = Source(1 to 10).map(_+1)
SourceShape(builder.add(flow).out)
}
)
Semble surpuissant pour transformer un flux simple à un graphique juste pour obtenir à nouveau un flux simple. Y a-t-il un moyen plus simple?
Ok, je suis un peu confus maintenant et je pense que c'est à cause des documents intellij. Si je tape: 'Source (1 à 10) .map (_. ToString)' intellij montre ce type: 'Source [Int, NotUsed] #Repr [String]'. Qu'est-ce que cela signifie ?? – RoberMP
@RoberMP, ce modèle est similaire à celui utilisé dans les traits de collections Scala '* Like', par ex. 'TraversableLike [+ T, + Repr]'. 'Repr' désigne (grosso modo) le type qui implémente le trait. Si vous ouvrez la source 'Source' (sans jeu de mots), vous trouverez que' Repr [O] 'est défini comme' Source [O, Mat] ', c'est-à-dire une source avec le même type de valeur matérialisée que appelez 'map()', mais avec un type d'élément différent. –
@RoberMP, ceci est nécessaire car des opérations comme 'map()' sont définies dans 'FlowOps' qui est étendu à la fois par' Source' et 'Flow', mais vous voudriez' flow.map() 'pour retourner' Flow' mais 'source.map()' pour retourner 'Source'. Sans une sorte de modèle 'Repr'', l'opération map() 'sur les flux et les sources aurait besoin de retourner un type commun, ce qui serait très artificiel et difficile à utiliser. –