Haskell 秒差距错误
Haskell parsec error
在学习 parsec 教程时,我尝试了以下命令
print (Parsec.parse (Parsec.many (Parsec.choice [Parsec.letter,Parsec.spaces ,(Parsec.char ','), Parsec.digit])) "" "hello1 , byebye2 ," )
并且控制台中的错误是
我不知道如何解决这个问题。如何解决这个问题,有什么想法吗??
来自 hackage
spaces :: Stream s m Char => ParsecT s u m ()
letter :: Stream s m Char => ParsecT s u m Char
所以你有解析器,它试图给你 Char
和一个,它只是丢弃输入并给你 ()
。结果应该是什么?
你可以使用
space :: Stream s m Char => ParsecT s u m Char
或
(spaces *> return ' ')
而不仅仅是 spaces
取决于您想要的行为。
在学习 parsec 教程时,我尝试了以下命令
print (Parsec.parse (Parsec.many (Parsec.choice [Parsec.letter,Parsec.spaces ,(Parsec.char ','), Parsec.digit])) "" "hello1 , byebye2 ," )
并且控制台中的错误是
我不知道如何解决这个问题。如何解决这个问题,有什么想法吗??
来自 hackage
spaces :: Stream s m Char => ParsecT s u m ()
letter :: Stream s m Char => ParsecT s u m Char
所以你有解析器,它试图给你 Char
和一个,它只是丢弃输入并给你 ()
。结果应该是什么?
你可以使用
space :: Stream s m Char => ParsecT s u m Char
或
(spaces *> return ' ')
而不仅仅是 spaces
取决于您想要的行为。