私はGHCiの中で、このエラーを取得していますハンドルはハスケルで半閉鎖エラーですか?このコードを実行した後</p> <p><code>*** Exception: <stdin>: hGetLine: illegal operation (handle is semi-closed)</code></p> <p>を::
main = do
interact $ unlines . fmap proccess . take x . lines
readLn :: IO Int
そして私は原因がtake x
あるかなり確信しています。 x行の入力を相互に使用して読むまたははinteract
だけのソロプレーヤーですか?
'interact'はstdinを半閉じた状態にします。私は、あなたの関数が正しく最初に動作したと仮定し、それ以降の呼び出しは失敗しますか? GHCiを閉じて再オープンするか、プログラムをコンパイルして実行してください。 –
正確に、 'stdin'の読み込みはすべて失敗しました。 –
補足として、閉じたハンドルをstdinにもう一度開くことができますが、ghciを閉じて再度開くことは可能ですか? –