text
1aaaaabaa 2aaaabaaa 3aaabaaaa
上記のテキストファイルを読み込んで
[[1,1,1,1,1,2,1,1],[1,1,1,1,2,1,1,1],[1,1,1,2,1,1,1,1]]
という連結リストに変換したいと考えて下記のコードを書きました。
しかしsplit :: [a]->[[Int],[Int]]でエラーを吐かれます。
どうしたら実装出来ますか。教えてください。
haskell
1import System.IO 2--1行ずつに連結リスト化 3split :: [a]->[[Int],[Int]] 4split []=[] 5split (x:xs) = (separate x,split xs) 6--,でわける 7separate:: [a]->[Int] 8separate[]=[] 9separate (x:xs)=[change_number x,separate xs] 10--数字に変換 11change_number:: a->Int 12change_number x 13 |x=="a"=1 14 |x=="b"=2 15 16main :: IO() 17main = do 18 handle <- openFile "sample.txt" ReadMode 19 text <- hGetContents handle 20 let ls = lines text --1行ずつ書き出し 21 print split ls--多重連結リスト化 22 hClose handle