只是一个我无法解答的简单问题
我想将字符串解析为字符串或双字符串,其中空字符串或“n/a”被解析为无。例如:
data Value = S String | N (Maybe Double)
value::CharParser () Value
value = val <* spaces
where val = N <$> v_number
<|> S <$> v_string
<|> N <$> v_nothing
以及领导和训练白色空间。
谢谢
编辑:
v_number :: CharParser () (Maybe Double)
v_number = do s <- getInput
case readSigned readFloat s of
[(n, s )] -> Just n <$ setInput s
_ -> empty
v_string :: CharParser () String
v_string = (many1 jchar)
where jchar = char \ *> (p_escape <|> p_unicode)
<|> satisfy (`notElem` ""\")
我尝试了各种各样的事情......为了什么也无济于事......却一无所获。