Ich frage mich, Sie sagen, dass flatMap
Monad bind
Methode ist. Die bind-Methode verwendet eine Funktion, die das enthaltene Element von monad einer anderen Monade zuordnet. Dies ist, wieWarum reduziert die Bindung die Liste?
option.flatMap(item => another option (f(item)))
gibt mir eine andere Monade mit f(item)
innen. Aber was bedeutet es für List? Wenn Sie bei der strightforward-Erweiterung jedes Listenelement einer (Listen-) Monade zuordnen, erhalten Sie die gesamte Liste der Listen. Warum glättet bind
das Ergebnis, wenn es auf die Liste angewendet wird?
"* zu einem anderen Monad *" sollte lesen "... ordnet das enthaltene Element einem Container der gleichen Monade zu" – Bergi