erhalte ich diesen Fehler in GHCI:Griff ist halbgeschlossener Fehler in Haskell?
*** Exception: <stdin>: hGetLine: illegal operation (handle is semi-closed)
diesen Code Nach dem Ausführen:
main = do
interact $ unlines . fmap proccess . take x . lines
readLn :: IO Int
Und ich bin ziemlich sicher, dass die Ursache take x
ist. Gibt es einen besseren Weg zu lesen nur x Zeilen der Eingabe mit Interaktion oder ist interact
nur ein Solospieler?
'interact' bringt stdin in einen halbgeschlossenen Zustand. Ich gehe davon aus, dass deine Funktion beim ersten Mal korrekt funktioniert hat und alle anderen Aufrufe danach fehlgeschlagen sind. Schließen oder öffnen Sie GHCi oder kompilieren Sie Ihr Programm und führen Sie es aus. –
Genau, jedes Lesen von 'stdin' ist danach fehlgeschlagen. –
Als eine Randnotiz, ist es möglich, geschlossener Handle zu stdin auf andere Weise wieder zu öffnen, aber ghci schließen und wieder öffnen? –