![](/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.