आप REFCODES पर refcodes-console पर refcodes-console
विरूपण साक्ष्य इस्तेमाल कर सकते हैं।ओआरजी:,
ArgsParser theArgsParser = new ArgsParserImpl(theRoot);
theArgsParser.setName("MyProgramm");
theArgsParser.setSyntaxNotation(SyntaxNotation.GNU_POSIX);
से ऊपर है कि आप अपने वाक्य रचना को परिभाषित नीचे आप पार्सर आह्वान:
Option<String> r = new StringOptionImpl("-r", null, "opt1", "...");
Option<String> s = new StringOptionImpl("-S", null, "opt2", "...");
Operand<String> arg1 = new StringOperandImpl("arg1", "...");
Operand<String> arg2 = new StringOperandImpl("arg2", "...");
Operand<String> arg3 = new StringOperandImpl("arg3", "...");
Operand<String> arg4 = new StringOperandImpl("arg4", "...");
Switch test = new SwitchImpl(null, "--test", "...");
Option<String> a = new StringOptionImpl("-A", null, "opt3", "...");
Condition theRoot = new AndConditionImpl(r, s, a, arg1, arg2, arg3, arg4,
test);
अपने तर्क अपने जड़ शर्त के साथ पार्सर ArgsParserImpl
बनाएं
theArgsParser.printUsage();
theArgsParser.printSeparatorLn();
theArgsParser.printOptions();
theArgsParser.evalArgs(new String[] {
"-r", "RRRRR", "-S", "SSSSS", "11111", "22222", "33333", "44444",
"--test", "-A", "AAAAA"
});
मामले में आप कुछ प्रदान की अच्छे विवरण, theArgsParser.printUsage()
आपको सुंदर मुद्रित उपयोग भी दिखाएगा:
Usage: MyProgramm -r <opt1> -S <opt2> -A <opt3> arg1 arg2 arg3 arg4 --test
ऊपर के उदाहरण में सभी परिभाषित तर्क उपयोगकर्ता द्वारा पास किया जाना चाहिए, और पार्सर एक गलत उपयोग की पहचान करेगा। , नई
theRoot = नए AndConditionImpl (आर, एस, एक, ARG1, ARG2, arg3, arg4: मामले में --test
स्विच, वैकल्पिक (या किसी अन्य तर्क) हो इस प्रकार theRoot
आवंटित करने के लिए है वैकल्पिक Impl (परीक्षण));
फिर अपने वाक्य रचना के रूप में निम्नानुसार है:
Usage: MyProgramm -r <opt1> -S <opt2> -A <opt3> arg1 arg2 arg3 arg4 [--test]
अपने मामले के लिए पूर्ण उदाहरण आप StackOverFlowExamle में पाते हैं। आप AND, OR, XOR स्थितियों और किसी भी तरह के घोंसले का उपयोग कर सकते हैं ... उम्मीद है कि इससे मदद मिलती है। r.getValue());
या if (test.getValue() == true) ...
:
इस प्रकार पार्स तर्क मूल्यांकन
LOGGER.info("r :=" + r.getValue());
LOGGER.info("S :=" + s.getValue());
LOGGER.info("arg1 :=" + arg1.getValue());
LOGGER.info("arg2 :=" + arg2.getValue());
LOGGER.info("arg3 :=" + arg3.getValue());
LOGGER.info("arg4 :=" + arg4.getValue());
LOGGER.info("test :=" + test.getValue() + "");
LOGGER.info("A :=" + a.getValue());
संभावित डुप्लिकेट (http://stackoverflow.com/questions/367706/how-to-parse-command- लाइन-तर्क-इन-जावा) – xenteros