这是我之前question的后续版本。
假设我现在有一个这样的数据结构:
case class C()
case class B(cs: Seq[C])
case class A(bs: Seq[B])
如何编写函数A => Seq[(A, Option[B], Option[C])]
?
函数的工作方式应该是这样的:
A(Nil) // Seq((Some(A()), None, None))
A(Seq(B(Nil))) // Seq((Some(A()), Some(B()), None))
A(Seq(B(Seq(C())))) // Seq((Some(A()), Some(B()), Some(C()))
在这种情况下,monad transformer是否有用?
https://stackoverflow.com/questions/50744615
复制相似问题