【发布时间】:2023-03-19 06:06:01
【问题描述】:
我正在尝试用 Haskell 编写解析器。
此解析器在参数中接受一个字符串(例如:“abc def”)并返回一个 Maybe (String, String)。
也许(字符串,字符串)
First String 获取数字或字母时的字符。
第二个字符串得到剩下的
在这个例子中,我想返回 Maybe ("abc", "def")。
parseString :: String -> Maybe (String, String)
parseString "" = Nothing
parseString expr = case isString expr of
Just (char, rest) -> fmap (char:) (parseString rest)
Nothing -> Just ("", expr)
isString 返回:
也许 (Char, String) -> Char = 第一个字符,String = 其余 / 如果不是字母或数字,则什么都没有。
问题,我可能无法返回字符串的其余部分。
【问题讨论】:
标签: parsing haskell recursion functional-programming