【问题标题】:how to get "leftover arguments" in optparse-applicative?如何在 optparse-applicative 中获取“剩余参数”?
【发布时间】:2015-03-08 14:07:41
【问题描述】:

我正在尝试使用 optparse-applicative。 如何访问不是选项的参数? (来自prog --foo --bar=42 baz,我想得到["baz"]

所有“高级”函数https://hackage.haskell.org/package/optparse-applicative-0.11.0.2/docs/Options-Applicative-Extra.html 返回a 我想要的(a,[String])

有一些低级函数https://hackage.haskell.org/package/optparse-applicative-0.11.0.2/docs/Options-Applicative-Common.html#v:runParser,但由于它的类型,我不能直接调用它。事实上,我确实想重新使用 https://hackage.haskell.org/package/optparse-applicative-0.11.0.2/docs/src/Options-Applicative-Extra.html#execParser 中的所有管道。

【问题讨论】:

    标签: haskell command-line-arguments applicative


    【解决方案1】:

    位置参数是解析器规范的一部分。它们不是由运行解析器的函数单独返回的。函数argumentstrArgument 可用于为规范添加位置参数的解析器。

    【讨论】:

    • 如果您需要将可变数量的参数组合在一起怎么办(如在末尾采用文件名列表的许多 unix 命令中)?
    • 解析器是Applicative 的一个实例,因此您可以使用manysome 等函数来允许可变数量的参数。
    • 谢谢!这些是我缺少的功能。
    猜你喜欢
    • 2016-03-31
    • 2014-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多