1
"runInteractiveCommand"を介して外部の対話型プログラムをhaskellで実行し、プログラムの出力がプログラムのプロンプトを表示するまで読む必要があります。これまでのところ私はwhileループで「HREADY」と「hGetChar」を使うべきだと思うHaskell:runInteractiveCommand:これまでの出力を無視するには?
checkConsistency cal nets = do
(sparqIn, sparqOut, sparqErr, sparqId) <- runInteractiveCommand "sparq -i"
mapM_ (flip hSetBinaryMode False) [sparqIn, sparqOut]
hSetBuffering sparqIn LineBuffering
hSetBuffering sparqOut NoBuffering
hPutStrLn sparqIn ("load-calculus " ++ cal)
-- Here i need to wait for output and ignore it until the prompt is shown!
sparqAnswers <- mapM (checkConsistencyWithSparq sparqIn sparqOut) nets
return sparqAnswers
を持っていますが、私は正確にどのように行うのかわかりません。それとももっと良い方法がありますか?
敬具、それはあなたがやりたいようで何 Annaluise