2012-03-22 3 views
6

だから私は持っているようなもの:抽出値

[IO Blah, IO Blah, IO Blah] 

と私は本当にBlah秒のリストだけをしたいが、私はそれをどのように行うことができますか?

P .:はい、IO機能内で作業しています。

答えて

11

sequenceを使用してください。

シーケンス内の各アクションを左から右に評価し、結果を収集します。

do blahs <- sequence listOfIoBlah 
    -- now use blahs 
7

希望するものはsequence :: Monad m => [m a] -> m [a]です。期待どおりに動作します。すべてのアクションが順番に実行され、結果が収集され、返されます。すべてのコマンドが終了しない限り、何も返されないことに注意してください。