簡體   English   中英

從IO操作列表中提取值

[英]Extract values from a list of IO actions

所以我有類似的東西:

[IO Blah, IO Blah, IO Blah]

我真的只想要一份Blah的名單,我怎么能這樣做?

PS:是的,我在IO功能中工作。

使用sequence

從左到右評估序列中的每個操作,並收集結果。

do blahs <- sequence listOfIoBlah
   -- now use blahs

如果您知道如何將問題表述為一種類型, 那么 Hoogle在回答這些問題時非常有用,例如: http//www.haskell.org/hoogle/ ? hoogle =%5BIO + a%5D+-% 3E + IO +%5Ba上%5D

你想要的是sequence :: Monad m => [ma] -> m [a] 它按預期工作:所有操作按順序執行,結果被收集並返回。 請注意,除非所有命令都已完成,否則不會返回任何內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM