除了Option,有哪些标准的Scala单子?

19 浏览
0 Comments

除了Option,有哪些标准的Scala单子?

Option单子在Scala中有时可以转化为相当便利的工具。Scala标准库中还有其他单子吗?

admin 更改状态以发布 2023年5月21日
0
0 Comments

你可以通过查找API索引中的明显的flatMap来解决这个问题。它会得到:

FilterMonadic 
Stream 
StreamWithFilter 
TraversableMethods 
Iterator 
ParIterableLike 
ParIterableLike 
ParIterableViewLike 
TraversableLike 
WithFilter 
MonadOps 
TraversableProxyLike 
TraversableViewLike 
LeftProjection 
RightProjection 
Option 
WithFilter 
Responder 
Zipped 
ControlContext
Parser 

0
0 Comments

Luigi给出的答案是正确的,但是我认为不是非常详细。

所有容器都可以实现单子接口,不过其中的flatMap的签名不是单子的flatMap。尽管如此,它们大部分时间都会像单子一样运行。Luigi列出的几乎所有类都与容器有关。

LeftProjectRightProject指的是Either。基本上,Either不是单子,但是如果"投影"其中的一个边,那么该边的行为就很像Option单子。

Parser是一个单子,它是解析器组合器的基础。

我承认我不认识ControlContext。我想知道它是否与连续体(也是单子)有关。

0