【发布时间】:2010-10-01 07:29:03
【问题描述】:
我编写了以下 Haskell 代码
import Data.Attoparsec (Parser)
import qualified Data.Attoparsec.Char8 as A
import qualified Data.ByteString.Char8 as B
someWithSep sep p = A.sepBy p sep
代码应该是这样工作的:
main*> A.parse (someWithSep A.skipSpace A.decimal) $ B.pack "123 45 67 89"
Done "" [123,45,67,89]
但由于我在上面编写的代码中定义了 someWithSep,所以我总是得到以下行为:
main*> A.parse (someWithSep A.skipSpace A.decimal) $ B.pack "123 45 67 89"
Partial _
除非我提供了损坏的条目:
main*> A.parse (someWithSep A.skipSpace A.decimal) $ B.pack "123 45 67 89f"
Done "f" [123,45,67,89]
我该如何纠正这个问题?
感谢回复
【问题讨论】:
标签: parsing haskell attoparsec