如何使用parsec(Haskell)进行if验证由可选选项生成的输入?
我有这个代数数据类型: 数据算术=Sum Int | Mult Int 衍生节目 我想这样做: 解析器算法 parseArith=do a试试看如何使用parsec(Haskell)进行if验证由可选选项生成的输入?,haskell,parsec,Haskell,Parsec,我有这个代数数据类型: 数据算术=Sum Int | Mult Int 衍生节目 我想这样做: 解析器算法 parseArith=do a试试看 的文档与您的用例相同。作为Franky答案的一个轻微替代,请选择稍后返回所需的构造函数 parseArith :: Parser Arithmetic parseArith = do a <- many1 digit spaces op <- (string "+" >> return
的文档与您的用例相同。作为Franky答案的一个轻微替代,请选择稍后返回所需的构造函数
parseArith :: Parser Arithmetic
parseArith = do
a <- many1 digit
spaces
op <- (string "+" >> return Sum)
<|> (string "*" >> return Mult)
spaces
b <- many1 digit
spaces
return $ op (read a) (read b)
parseArith :: Parser Arithmetic
parseArith = do
a <- many1 digit
spaces
op <- (string "+" >> return Sum)
<|> (string "*" >> return Mult)
spaces
b <- many1 digit
spaces
return $ op (read a) (read b)