Kotlin 支持单子理解吗?

2024-03-29

就像 C# 中的 LINQ、Scala 中的理解一样,Kotlin 中有类似的东西吗?如果不支持,有计划吗?


没有特殊的关键字(do/for),因此不像其他语言那样直接翻译为嵌套的 flatMap(脱糖)。

但是一元理解可以通过协程来实现。

来自箭头文档:https://arrow-kt.io/docs/patterns/monad_com经理/#com经理-over-coroutines https://arrow-kt.io/docs/patterns/monad_comprehensions/#comprehensions-over-coroutines

对协程的理解

此功能有多个名称:async/await、coroutines、do 符号,用于理解……每个版本都包含某些独特的 点,但都源自相同的原则。在 Kotlin 中,协程 (在该语言的 1.1 版本中引入)使编译器能够 将看似同步的代码重写为异步序列。 Arrow 使用编译器的这种功能为您带来 Monad 类型类的所有实例的类似协程的表示法。

这意味着推导式可用于 Option、Try、List、 Reader、Observable、Flux 或 IO 都一样。

对于协程,另请参阅“深入探讨 JVM 上的协程 @ KotlinConf 2017”:https://www.slideshare.net/elizarov/deep-dive-into-coroutines-on-jvm-kotlinconf-2017?next_slideshow=1 https://www.slideshare.net/elizarov/deep-dive-into-coroutines-on-jvm-kotlinconf-2017?next_slideshow=1

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Kotlin 支持单子理解吗? 的相关文章

随机推荐