yel*_*von 3 java command-line-arguments argparse4j
我正在使用argparse4j来解析命令行参数。我想添加一个参数,当存在时,将布尔值设置为 true,否则默认为 false。我不想在参数中包含 true 或 false,只包含标识符,因此运行时它看起来像这样:
java firstArg --enable-boolean
Run Code Online (Sandbox Code Playgroud)
这个答案表明,在 Python 中,我可以设置action参数来存储 true 或 false 值,如下所示:
Run Code Online (Sandbox Code Playgroud)parser.add_argument('-b', action='store_true', default=False)
我如何使用 argparse4j 在 Java 中做同样的事情?
您正在寻找的Arguments.storeTrue()操作:
Arguments.storeTrue()和是Arguments.storeConst()Arguments.storeFalse()的特殊情况,分别用于存储值和。此外,它们还分别创建和的默认值。例如:truefalsefalsetrueRun Code Online (Sandbox Code Playgroud)public static void main(String[] args) throws ArgumentParserException { ArgumentParser parser = ArgumentParsers.newArgumentParser("prog"); parser.addArgument("--foo").action(Arguments.storeTrue()); parser.addArgument("--bar").action(Arguments.storeFalse()); parser.addArgument("--baz").action(Arguments.storeFalse()); System.out.println(parser.parseArgs(args)); }Run Code Online (Sandbox Code Playgroud)public static void main(String[] args) throws ArgumentParserException { ArgumentParser parser = ArgumentParsers.newArgumentParser("prog"); parser.addArgument("--foo").action(Arguments.storeTrue()); parser.addArgument("--bar").action(Arguments.storeFalse()); parser.addArgument("--baz").action(Arguments.storeFalse()); System.out.println(parser.parseArgs(args)); }
| 归档时间: |
|
| 查看次数: |
2808 次 |
| 最近记录: |