Я написал карту в файл и теперь пытаюсь выполнить чтение на ней. Это возможно? Один ключ в том, что код написан и читается с помощью ByteString и ByteString.Char8. Я получаю следующее сообщение об ошибкеHaskell читает карту из файла
fromList *** Exception: Prelude.read: no parse
Мой код выглядит следующим образом:
import qualified Data.ByteString.Char8 as BSC
import qualified Data.ByteString as BS
import qualified Data.Map as Map
type Code = Map.Map Char [Bit]
writeCode :: FilePath -> Code -> IO()
writeCode fp tr = BS.writeFile ("code_" ++ fp)
(BSC.pack (show (tr :: M.Map Char [Bit])))
readCode :: FilePath -> IO Code
readCode f = do s <- BS.readFile ("code_" ++ f)
let s' = BSC.unpack s
return (read s' :: Code)
Можете ли вы данный пример 'Code' вы стремитесь писать в файл, так что ошибка может быть * воспроизведена *? –
'fromList [('e', [1,1,0]), ('h', [1,1,1]), ('l', [0]), ('o', [1, 0])] является одним из примеров. Когда я написал его в файл, это то, как он появляется в файле, но теперь я не могу его прочитать. Извините, бит - это тип данных с одним или с нуля, представленный 1 или 0 – astiefel
. Я получаю * Не в области: введите конструктор или класс «Бит» *. :( –