【发布时间】:2023-04-06 22:57:01
【问题描述】:
我想知道是否存在忽略flatMap 中的结果的函数(在 scala 或猫中)。例如
Some("ignore this").ignoreArgumentFlatMap(Some("result"))
与
相同Some("ignore this").flatMap(_ => Some("result"))
【问题讨论】:
-
用例会是什么?
-
我有一些单子,结果实际上并不感兴趣,而只是内部状态
-
例如
for { x <- someFoo; _ <- anotherFoo: _ <- moreOtherFoo; _ <- derp } yield x- 以数据库事务为例 -
不太确定这是否会对您有所帮助,但请查看github.com/oleg-py/better-monadic-for
-
在你的情况下,不是
Some("result").flatMap(x => { Some("ignore this"); Some(x) })(相当于你的理解)吗?
标签: scala monads scala-cats