以下の内容はhttps://faithandbrave.hateblo.jp/entry/20111124/1322118774より取得しました。


Parsec カンマ区切り文字列のパース

カンマ区切りで書かれた整数のリストをパースします。
sepBy, sepBy1関数がちょうど「x区切りでyパーサーを実行する」ということができるので使えそうです。
C++のBoost.Spirit.Qiでいうところの、operator%()です。

import Text.Parsec
import Text.Parsec.String

parseInt :: Parser Int
parseInt = do
            value <- many1 digit
            return (read value)

parseText :: Parser [Int]
parseText = parseInt `sepBy1` (char ',')

run :: Show a => Parser a -> String -> IO ()
run p input
        = case (parse p "" input) of
            Left err -> do{ putStr "parse error at "
                          ; print err
                          }
            Right x  -> print x

main = do
        run parseText "123,456,789"
[123,456,789]




以上の内容はhttps://faithandbrave.hateblo.jp/entry/20111124/1322118774より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14