1
我想處理通過createProcess
linewise啓動的進程的stdout,但我不能等到有新行可用時。我的應用程序會做這樣的事情:Haskell - 無阻擋地從句柄中讀取行
- 獲得一些外部程序的輸出全部爆滿線可用,而無需等待
- 啓動一旦任務完成即處理這些線
- 工作,等待直到外部程序的輸出的至少一條線可重複
我不知道如何實現1.是否存在相當於在每行的基礎上運行Handle
的hGetBufNonBlocking
?如果沒有,Haskell™解決這個問題的方法是什麼?使用hReady
和hGetChar
來實現自定義行緩衝或某種形式的併發?
'但我不能等到有新的一行可用的時候'你的意思是說你想在生成時處理該行,可能沒有完全保存在內存中? – danidiaz
不,我只想處理整行。我編輯了這個帖子以供澄清。 –