没有特殊的关键字(do/for),因此不像其他语言那样直接翻译为嵌套的 flatMap(脱糖)。
\n\n但一元理解可以通过协程来实现。
\n\n来自 Arrow 文档:https://arrow-kt.io/docs/patterns/monad_com经理/#com经理-over-coroutines
\n\n\n\n\n对协程的理解
\n\n此功能有多个名称:async/await、协程、do\n 表示法、理解\xe2\x80\xa6 每个版本都包含某些独特的\n 点,但都源自相同的原理。在 Kotlin 中,协程\n(在该语言的 1.1 版中引入)使编译器能够\n 将看似同步的代码重写为异步序列。\n Arrow 使用编译器的这种功能为您提供\n 类似于协程的表示法。 Monad 类型类的实例。
\n\n这意味着推导式同样适用于 Option、Try、List、\n Reader、Observable、Flux 或 IO。
\n
对于协程,另请参阅“深入了解 JVM @ KotlinConf 2017 上的协程”: https ://www.slideshare.net/elizarov/deep-dive-into-coroutines-on-jvm-kotlinconf-2017?next_slideshow=1
\n