2016-08-10 4 views
2

私は経由して、いくつかの.txtファイルを開いています:`readfile`関数の出力をconduitのソースにする方法はありますか?

main :: IO() 
main = do 
    xxs <- TIO.readFile pathToFile 
    return() 

.txtファイルの形式

str_1 \n str_2 \n ... str_m 

であり、私はそれは次のようになりますように、ソースにXXSを作りたいと思います:

sourceList [str_1, str_2, ..., str_m] 

コンジットAPIは、このようにフォームにそれを作る、最初のxxs上のいくつかの文字列操作を行うことなく、それを行うための方法を提供しています?

+0

'xxs'を行のリストに分解するために' lines'を使うのはどうでしょうか? [行と単語の中断](https://hackage.haskell.org/package/text-1.2.2.1/docs/Data-Text.html#g:19) – ErikR

+0

を参照してください。文字列は 'lines'によって遅れて生成されますか?したがって、リスト全体が決してメモリに存在せず、各行が出力され、sourceListと下流のコンジットによって即座に消費されます。 – chibro2

+1

"conduit"を使用した回答のみを探しているのか、タグとして含めるかは、パイプ "? –

答えて

5

readfile関数の出力をコンジットのソースにするにはどうすればよいですか?

ファイルを読み取るソース関数は、conduit-extraの形式でsourceFileの形式で既に存在しています。 conduitFileなど

関連する問題