-1
flatMap
は、モナドのbind
メソッドです。 bindメソッドは、モナドに含まれるアイテムを別のモナドにマップする関数をとる。これはバインドがリストをフラット化するのはなぜですか?
option.flatMap(item => another option (f(item)))
は私にf(item)
内部で別のモナドを与える方法です。しかし、リストに適用されることは何を意味しますか? strightforward拡張によって、すべてのList項目を(リスト)モナドにマップすると、リストの全リストが得られます。 bind
がリストに適用されると結果がフラットになるのはなぜですか?
「*別のモナド*」は「含まれているアイテムを同じモナドのコンテナにマップする」 – Bergi