2
にパイプには、CreateProcessとCreatePipeから作成されたハンドルを使用して:ハスケル - 私は現在、このコードを持ってStdStream
main :: IO()
main = do
(_, Just so, _, _) <- createProcess (proc "ls" ["."]) { std_out = CreatePipe }
_ <- createProcess (proc "sort" []) { std_in = so }
print "foo"
私は取得していますエラーは次のとおりです。
Couldn't match expected type ‘StdStream’
with actual type ‘GHC.IO.Handle.Types.Handle’
In the ‘std_in’ field of a record
In the first argument of ‘createProcess’, namely
‘(proc "sort" []) {std_in = so}’
In a stmt of a 'do' block:
_ <- createProcess ((proc "sort" []) {std_in = so})
私がしようとしていますlsプロセスの出力をソート・プロセスにパイプしますが、CreatePipeはハンドル・ペアを返し、std_inはStdStreamを要求します。
ハンドルをstdstreamに変換する方法を教えてください。
ありがとうございます!ソートされたディレクトリのリストを印刷し、
_ <- createProcess (proc "sort" []) { std_in = UseHandle so }
をし、それが実行されます:
助けてくれてありがとう。 – Wolfe