ログ日記

作業ログと日記とメモ

ParsecでtakeWhile

string :: String -> CharParser st String
の配列版が欲しかったので作ってみた

takeWhileString :: [String] -> CharParser st String
takeWhileString [] = unexpected "takeWhileStrng"
takeWhileString (x:xs) = try(string x) <|> takeWhileString xs

これで[String]から最初にマッチした文字列のパーサが返ってくる。


# takeWhileじゃなくて head $ takeWhile かな?まだまだ基本操作がおぼつかない・・。