との違いの1 つについての私の理解では、では利用できますが、 では利用できません。Monad
Applicative
flatMap
Monad
Applicative
それが本当なら、私はこれらの Scala Play JSON docsに混乱しています:
興味深いのは、JsResult[A] がモナド構造であり、そのような構造の古典的な関数で使用できることです。
flatMap[X](f: A => JsResult[X]): JsResult[X]
等
しかし、その後、ドキュメントは次のように続けます。
JsResult[A] はエラーを累積するため、Monadic ではなく Applicative であることに注意してください。この累積的な機能により、JsResult[T] を理解のために使用するのはあまり適切ではありません。
私が理解しているように、 afor-comprehension
は の構文糖衣であるためflatMap
、どのようにして aとJsResult
の両方になることができますか?Applicative
Monad