我有以下問題:結合清單,期貨與期權在-理解 - scalaz
val sth: Future[Seq[T, S]] = for {
x <- whatever: Future[List[T]]
y <- x: List[T]
z <- f(y): Future[Option[S]]
n <- z: Option[S]
} yield y: T -> n: S
我希望讓這段代碼的工作(我猜每個人都明白這個想法,因爲我已經添加類型)。
通過「上班」我的意思是說,我希望留在理解結構中,並最終實現預期的類型。我知道有「醜陋」的方式來做到這一點,但我想學習如何做到這一點純粹:)
當我讀互聯網時,我已經得出結論,我的問題可能由monad變壓器解決& scalaz 。不幸的是,我找不到一個例子來幫助我更好地瞭解我應該如何繼續。
目前我已經嘗試了scalaz和Eff monad庫,但我想我仍然不明白它是如何工作的,因爲我無法解決我的問題。
我將不勝感激任何幫助。
編輯:這應該是序列的未來,還就「什麼」我把它作爲函數的參數,對不起,誤導您
謝謝!這非常有幫助,而且我正在尋找!需要說明的是,當我在T中使用任何類型的T(選項/列表/等)來理解時,我將不得不只使用它的一種類型來工作? – fr3ak
是的,就好像你將所有東西都嵌入到了外部單子(在這種情況下的未來)中,「內部」單子仍然必須是相同的,就好像它們都是列表/選項/等。 –