【发布时间】:2021-09-17 10:05:06
【问题描述】:
我有
type Month = Int
parseMonths :: OP.Parser (Month, Month)
parseMonths =
liftA2 (,)
(OP.option
(OP.eitherReader $
parseNumber "month" (\n -> 1<=n && n<=12) "month")
(OP.metavar "MONTH" <>
OP.long "from-month" <>
OP.value 1))
(OP.option
(OP.eitherReader $
parseNumber "month" (\n -> 1<=n && n<=12) "month")
(OP.metavar "MONTH" <>
OP.long "to-month" <>
OP.value 12))
我想添加一张支票,第一个月不在第二个月之后。显然我不能在OP.ReadM 中这样做。我可以在OP.Parser 中进行检查吗?或者我是否必须在使用parserFailure 解析后执行检查,如下所示:
Optparse-applicative: consecutive parsing (ReadM)
?
【问题讨论】:
标签: haskell applicative optionparser optparse-applicative