ファイルからの読み取りと、フィルム タイプのリストへのロードに問題があります。
testDatabase :: [Film]
testDatabase = [(Film "Ridely Scott" "Test" 2012 [("Zoe",2),("Test",1)]),(Film "Test1" "Test1" 2012 [("Test",4),("Test",5)])]
loadFromFile :: IO ()
loadFromFile = do
putStrLn "Enter the input filename: "
name <- getLine
contents <- readFile name
let testDatabase = length contents `seq` (read contents :: [Film])
putStrLn formatDatabase
putStrLn "Done"
テキスト ファイルは、Haskell によって次の方法で保存されています。
saveToFile :: IO ()
saveToFile = do
putStrLn "Enter the output filename: "
name <- getLine
writeFile name (show testDatabase)
putStrLn "Done"
正しい形式で、約 30 のエントリが表示されますが、load メソッドが呼び出されると、実行時に testDatabase にあったデータが取得されます。