1
我創造了這個簡單的單子轉換如何分配未來的[選項[INT]]對OptionT [未來,INT]
type FutureOptionInt = OptionT[Future, Int]
現在我可以很容易地通過
1.pure[FutureOptionInt]
創建的這個實例
這很好。但我有另一個函數返回給我一個Future [Option [Int]]。我無法將此功能的輸出更改爲MT
因此我需要將返回類型分配給我的MT。
我試圖
val y = Future(Option(1))
val x : FutureOptionInt = y
,但我得到的錯誤
cmd5.sc:1: type mismatch;
found : scala.concurrent.Future[Some[Int]]
required: $sess.cmd3.FutureOption
(which expands to) cats.data.OptionT[scala.concurrent.Future,Int]
val x : FutureOption = y
所以現在的問題是,如果你有一個未來的[選項[INT]]你怎麼把它分配給OptionT [未來, INT]?