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返回一個Handle對,並且std_in需要一個StdStream。
我會如何將句柄轉換爲stdstream。
謝謝!
非常感謝您的幫助。 – Wolfe