首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用opt解析式解析"enum“选项

用opt解析式解析"enum“选项
EN

Stack Overflow用户
提问于 2017-09-12 17:45:29
回答 1查看 444关注 0票数 4

如何从grep --help实现此示例的解析器

代码语言:javascript
复制
 --binary-files=TYPE   assume that binary files are TYPE;
                       TYPE is 'binary', 'text', or 'without-match'

假设我有

代码语言:javascript
复制
data BinaryFiles = Binary | Text | WithoutMatch

我如何编写解析器呢?option auto似乎是一个传说,因为Read应该是Show的“逆”,我想保留派生的instance Show BinaryFiles

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-12 18:19:30

使用str而不是auto

代码语言:javascript
复制
binFile :: ReadM BinaryFiles
binFile = str >>= \s -> case s of
    "binary"        -> return Binary
    "text"          -> return Text
    "without-match" -> return WithoutMatch
    _ -> readerError "Accepted binary file types are 'binary', 'text', and 'without-match'."
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46182591

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档