我有一组特定的解析命令行选项的要求。我的意图与Linux beep命令不同,在该命令中,您可以指定不同频率和持续时间的多次蜂鸣声。我恰好使用4位颜色。
有效输入系列的示例:
-z 1 -r 5 -g 2 -b 12 -z 4 --color=ffe --zone=3 --color=8,8,4
-z或--zone是启动新选项组的分隔符。可以使用-r / g / b设置或--color指定颜色。我希望自己处理解析。
无效输入的示例:
--zone=1 -r 12 -g 15 -z 3 -r 8 -g 6 -b 10 -b 18
这说明了为什么我不能只使用一系列选项。我的程序需要能够在--zone=1
和下一个区域之间识别并提醒它,它在-z 3
和结束之间找不到-b,和参数,它发现两个-b。使用getOptionValues()
提供的数组,我只会看到-r / g / b各有两个,并假设没有问题,因为它们没有绑定到任何类型的父组或组。
我需要知道Commons CLI是否可以处理重复的 groups 选项,或者我是否需要切换到另一个解析器,或者如果我最好自己编写我自己的解析器选项。