Я получаю эту ошибку в GHCI:Ручка полузамкнутая ошибка в Haskell?
*** Exception: <stdin>: hGetLine: illegal operation (handle is semi-closed)
После выполнения этого кода:
main = do
interact $ unlines . fmap proccess . take x . lines
readLn :: IO Int
И я уверен, что причина take x
. Есть ли лучший способ читать только x строки ввода с использованием взаимодействия или is interact
просто сольный плеер?
'взаимодействовать' ставит stdin в полузакрытое состояние. Я полагаю, что ваша функция работала правильно в первый раз, и каждый другой вызов после этого не удался? Либо закрыть, либо снова открыть GHCi, либо скомпилировать свою программу и выполнить ее. –
Точно, каждое чтение 'stdin' потерпело неудачу после этого. –
Как примечание, можно ли снова открыть закрытую ручку для stdin другим способом, но закрытие и повторное открытие ghci? –