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