У меня есть следующий фрагмент кода, который я передаю вwithFile
:
text <- hGetContents hand
let code = parseCode text
return code
Здесь hand — допустимый дескриптор файла, открытый с помощью ReadMode
и parseCode
— это моя собственная функция, которая считывает ввод и возвращает «может быть». Как бы то ни было, функция завершается ошибкой и ничего не возвращает. Если вместо этого я напишу :
text <- hGetContents hand
putStrLn text
let code = parseCode text
return code
, я получу Справедливо, как и должно быть.
Если я делаю openFile
и hClose
сам, у меня та же проблема. Почему это происходит? Как я могу решить это чисто?
Спасибо