问题标签 [optparse-applicative]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1080 浏览

haskell - 如何使用 optparse-applicative 创建嵌套/条件选项?

是否可以使用optparse-applicative中的方法创建一个 haskell 表达式来解析这样的程序选项?

-a-b是可选标志(使用 实现switch),约束是-b选项只有在-a之前键入时才有效。

谢谢

0 投票
1 回答
323 浏览

haskell - optparse-applicative 回溯

我正在尝试在程序中使用optparse-applicative库,该程序应根据参数的数量执行不同的操作。

例如,计算周长的程序的参数解析:

只有第一个参数才能<|>成功解析。我认为需要某种参数回溯,类似于 Parsec 的try组合器。

关于如何解析替代参数集的任何想法,当第一个替代方案可能会消耗下一个替代方案的一些参数时?

0 投票
1 回答
325 浏览

haskell - 从免费的替代仿函数生成 optparse-applicative 解析器

考虑以下类型签名:

Foo现在我展示了从to类型optparse-applicative的自然转换Parser

(好吧,它有点没用,但它会用于讨论)。

现在我将Bar成为免费的替代仿函数Foo

鉴于这是一个自由函子,我应该能够从tomkParser进行自然转换:BarParser

事实上,这很有效,给了我一个Parser支持。然而,这是一个非常没用的,因为试图用它做很多事情会导致无限循环。例如,如果我尝试描述它:

并挂起直到被打断。

其原因似乎是在其定义中optparse-applicative 作弊manyand some:它在幕后使用单子解析。

我在这里做错了吗?鉴于此,我不明白如何以这种方式构造解析器。有任何想法吗?

0 投票
1 回答
452 浏览

haskell - optparse-applicative:如何处理箭头语法中的无参数情况

有例子:https ://github.com/pcapriotti/optparse-applicative/blob/master/tests/Examples/Cabal.hs#L46-L62

...

因此,默认情况下,当我不使用参数时,它会显示使用信息。我想使用不带参数的案例,也想使用一个 [自定义参数](使用自定义参数时出现错误Invalid argument 'regreg':)

我如何在这里处理空参数和自定义参数?

0 投票
2 回答
612 浏览

haskell - optparse-applicative:解析对列表

我正在尝试使用 optparse-applicative 解析对列表。解析单个对有效,但使用many组合器解析任意多个会失败。

输出:

有任何想法吗?

0 投票
1 回答
2994 浏览

haskell - 如何将可选标志解析为 Maybe 值?

我正在尝试使用optparse-applicative解析 aMaybe String但我无法找到如何处理Maybe. 我发现的唯一一件事是添加一个默认值,但我真的需要一个Nothingif 用户没有提供选项而不是"". 有没有办法做到这一点?

这是工作代码的示例:

但是,我希望参数是可选的并使用Maybe String而不是Stringin Config

0 投票
0 回答
40 浏览

haskell - 根据参数计数确定的程序模式 [optparse-applicative]

我将根据参数计数确定程序模式(没有标志/'subparser' & 'command')但没有成功。

ghci 会话

:main ab我期望模式 2 与 a: a 和 b: b作为结果。

我错过了什么?谢谢!


主文件

0 投票
2 回答
841 浏览

haskell - optparse-applicative 子命令帮助文本

我正在使用 stackage lts 5.1 附带的 optparse-applicative 我有一个带有子命令的解析器,我已经为他们的选项描述了一个帮助文本,但他们没有显示。

这是我运行可执行文件时的输出--help

编码 :

0 投票
2 回答
1131 浏览

haskell - 是否可以有一个带有多个参数的 optparse-applicative 选项?

我刚刚发现我精心设计的解析器无法解析我扔给它的任何字符串:

在哪里ROI = ROI Int Int Int Int

如果这很重要,则它嵌套在更高的解析器中

哪里Opts是合适的 ADT。

现在我假设roi解析器将解析表达式,--roi 1 2 3 4但它失败Invalid argument '128'并给我使用消息。

--roi 1而是解析但返回Just (ROI 1 1 1 1)

有没有办法使这项工作?

0 投票
2 回答
553 浏览

haskell - Option.Applicative:如何解析带有标志的组合解析器?

我有复杂的命令行选项,如

我想用一个标志解析这些子参数:

我已经有了

我要写什么???