gpt4 book ai didi

scala - flatMap 忽略结果

转载 作者:行者123 更新时间:2023-12-04 23:35:13 24 4
gpt4 key购买 nike

我想知道是否存在忽略 flatMap 中的结果的函数(在 scala 或 cat 中) .例如。

Some("ignore this").ignoreArgumentFlatMap(Some("result"))

这将与
Some("ignore this").flatMap(_ => Some("result"))

最佳答案

它被称为 >>在猫。

scala> import cats.implicits._
import cats.implicits._

scala> Option("ignore this") >> Some("result")
res14: Option[String] = Some(result)

文档明确说

Alias for fa.flatMap(_ => fb).

Unlike *>, fb is defined as a by-name parameter, allowing this method to be used in cases where computing fb is not stack safe unless suspended in a flatMap.



还有 productR*> .
scala> Option("ignore this").productR(Some("result"))
res15: Option[String] = Some(result)

scala> Option("ignore this") *> Some("result")
res16: Option[String] = Some(result)

就像文档所说的那样,它的论点不是按名称进行的。所以它或多或少相当于
val x0 = Some("result")
Some("ignore this").flatMap(_ => x0)

productREval如果你想要一个替代的评估策略。

关于scala - flatMap 忽略结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59963549/

24 4 0
文章推荐: .net-core - '{{FSharpCoreShippedPackageVersion}}' 不是有效的版本字符串
文章推荐: r - 如何同时获取多个数据帧的子集?
文章推荐: perl - 定义了一些字符串值 ("0"、 ""和 ""),但是 (==undef)
文章推荐: java-8 - 在 map 中创建 List