我在Reader Monad中有代碼,以便將文件句柄作爲不可見參數傳遞給Reader鏈。使用do編寫IO Monads
在writeMail,我試圖創建一個閱讀器,其中,使用runReader運行時,產生一個IO()輸出其本身IO單子的鏈的結果
writeMail :: Reader Handle (IO())
writeMail mail = do
wmh <- writeMailHeaders mail
wmb <- writeMailBody mail
return $ wmh >>= \_ -> wmb
但是我發現只有IO鏈中的最後一個,即wmb,在控制檯打印。
任何人都可以看到我應該做什麼來獲得wmh,然後wmb打印?
我不是OP,但我認爲基本使用monad變壓器只是爲我點擊。謝謝一堆。 – kqr
是的。我記得同樣的感覺。直到某個時候,對於我來說,這一切都是巫術,當一個簡單的實現是通過「點擊」來實現的。 –