处理具有多个参数的命令行选项以用于某些标志

时间:2013-09-21 18:40:22

标签: haskell command-line-arguments

我正在编写一个程序,命令行的使用应该是这样的:

mkblueprint FILE FILE FILE -o <output name> -s <string> -r <number> -p pOPT1 pOPT2 pOPT3

我目前正在使用CmdLib而我无法找到解决此问题的方法;每个输入都需要一个标志(所以我不能只让FILE独立)并且似乎没有办法将多个参数传递给一个标志,就像-p一样。这些在命令行程序中非常常见,所以我想我只是误解了文档,但是我在Haskell看到的任何命令行库中都没有提到它。

2 个答案:

答案 0 :(得分:1)

在使用CmdLib做了一些工作后,我能够通过Extra标签处理裸FILE输入,然后检查每个字符串是否是有效文件,这似乎是处理它的标准方法,尽管名称。根据POSIX标准显然不允许使用-p pOPT1 pOPT2 pOPT3,这就是为什么我找不到可以执行此操作的库。

答案 1 :(得分:0)

您可以考虑base附带的GetOpt绑定。它们不像一些更现代的替代品那样性感,但它们支持裸论和最终选择。