1
只是一個簡單的問題,我無法解決。Haskell parsec解析也許
我想將一個字符串解析爲一個String或一個Maybe Double,其中一個空字符串或一個「n/a」被解析爲Nothing。例如類似:
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_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` "\"\\")
我嘗試過各種雜物的v_nothing無濟於事。
請問您可以包括'v_number','v_string'和'v_nothing'的定義到目前爲止。 – dflemstr
'v_string'不應該以'''開頭嗎? – pat