![](/img/trans.png)
[英]Scala How to transform Seq[((A, B, C, D), Seq[(E, F, G)])] to Seq[(A, B, C, D, Seq[(E, F, G)])]?
[英]transform 'A => F[G[B]]' into 'F[G[A=>B]' scala
给定带签名的函数: A => F[G[B]]
。 有F
和G
类型的单子实例。
是否可以将其转换为带有签名的东西: F[G[A=>B]
? 这样的转换有什么通用名称吗?
换句话说, prettify2
的实现是什么?
def pretiffy(x: String): Future[Option[String]] = Future{if(x == "") None else Some(s">>>$x<<<")}
val pretiffy2: Future[Option[String => String]] = ???
更新:我希望使用猫或斯卡拉兹回答。
假设我们有一个String=>List[Option[Integer]]
。 我们需要产生一个List[Option[String=>Integer]]
。 我们应该如何处理呢? 例如,结果列表应保留多长时间? 它应包含多少个None
?
显然,这些问题没有答案,这意味着所请求的转换不能存在于任意一个monad(或者实际上是大多数monad,因为人们可以对大多数monad提出类似的问题)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.