wvogel日記

自分用の技術備忘録が多めです.

save and load(2)

眠い......
一度集中力がきれたらあとはダラダラになってしまうのが私の悪いところ。


Parsec使ってカリカリしてましたが、最後の詰めが書けない.....
とりあえず今日、できあがったところまで

import Text.Parsec
import Text.Parsec.String
import Types

factor :: Parser Image
factor = do char '('
            layer <- layerTerm
            char ','
            fname <- fileTerm
            char ')'
            return (layer,fname)

fileTerm :: Parser ImageFile
fileTerm = do char '\"'
              k <- many( letter <|> digit <|> (char '.' >> return '.'))
              char '\"'
              return k

layerTerm :: Parser Int
layerTerm = many1 digit >>= return.read

これで、文字列を解釈して

*LoadParse> parseTest factor "(12,\"qwerty4aw.png\")"
(12,"qwerty4aw.png")

のようにタプルを生成することが可能になりました。
あとは連続して読み込んで、これのリストを返すような関数を書けばいいのですが、もう体力の限界.....
というわけで寝ます

続きはまた時間が出来たとき