Kinx 라이브러리 - Getopt
8614 단어 rubyjavascriptkinxgetopt
스크립트 언어Kinx는 "Looks like JavaScript, Feels like Ruby, Stable like AC/DC(?)"의 개념으로 게시됩니다.
이번에는 Getopt입니다. 간단하지만 유용합니다.
긴 옵션 스타일을 사용할 수도 있습니다.
Getopt - System.getopt
사용하는 방법
아래의 예를 보십시오. while 조건 부분에 넣고 인수의 배열, 옵션 문자열 및 long 옵션에 대한 개체를 지정합니다. 긴 옵션에 대한 개체 지정을 생략할 수 있습니다.
var opt, add, check;
while (opt = System.getopt($$, "a:df", { add: 'a', delete: 'd', help: null, "do-check": '=' })) {
switch (opt.type) {
case 'a': // Returns 'a' when a user specified '--add'.
add = opt.arg; // ':' means the option has an argument.
System.println('-a with "%{add}"');
break;
case 'd': // Returns 'd' when a user specified '--delete'.
System.println('-d');
break;
case 'f': // This means that a user specified '-f'.
System.println('-f');
break;
case 'help': // This means that a user specified '--help'.
System.println('--help');
break;
case 'do-check': // This means that a user specified '--do-check'
check = opt.arg; // '=' means the option has an argument.
System.println('--do-check with "%{check}"');
break;
case '-': // This means that the argument is not an option.
list.push(opt.arg);
break;
}
}
// Displaying arguments which is not an option.
System.println("Program options: ", list);
옵션 문자열에 대한 세부 정보입니다.
-df
대신 -d -t
와 같이 하나의 옵션 내에서 옵션을 결합할 수 있습니다. -aARG
와 같이 옵션과 인수를 결합할 수 있습니다. 이것은 -a ARG
와 같다는 것을 의미합니다. -d -a ARG
를 -da ARG
또는 -daARG
로 쓸 수 있습니다. 긴 옵션에 대한 세부 정보입니다.
--long-option=argument
스타일로 지정됩니다. 긴 옵션인 경우 빈 인수도 허용됩니다. 예제를 실행합니다.
다음은 일부 경우의 예입니다.
$ ./kinx examples/option.kx -d -a arg
-d
-a with "arg"
Program options: ["examples/option.kx"]
$ ./kinx examples/option.kx -da arg
-d
-a with "arg"
Program options: ["examples/option.kx"]
$ ./kinx examples/option.kx -daarg
-d
-a with "arg"
Program options: ["examples/option.kx"]
$ ./kinx examples/option.kx --help something
--help
Program options: ["examples/option.kx", "something"]
$ ./kinx examples/option.kx --do-check=
--do-check with ""
Program options: ["examples/option.kx"]
$ ./kinx examples/option.kx --do-check=abc
--do-check with "abc"
Program options: ["examples/option.kx"]
$ ./kinx examples/option.kx -a
Uncaught exception: No one catch the exception.
ArgumentException: Needs an argument for -a
Stack Trace Information:
at <main-block>(examples/option.kx:2)
$ ./kinx examples/option.kx --unknown
Uncaught exception: No one catch the exception.
ArgumentException: Unknown option: --unknown
Stack Trace Information:
at <main-block>(examples/option.kx:2)
결론
논증을 분석하는 스타일은 많고,
getopt
는 오랜 역사를 가지고 있다. 그러나 getopt
는 여전히 활성 상태입니다. C 프로그래머에서 가장 적합하다는 관점에서 사용하는 것이 더 쉽다고 생각합니다.도움말을 표시하려면
boost::program_options
도 유용합니다. 그러나 getopt
는 최소이지만 거의 모든 목적에 매우 간단하고 유용합니다. 앞으로 더 유용한 방법을 지원할 수 있습니다.다음에 뵙겠습니다.
Reference
이 문제에 관하여(Kinx 라이브러리 - Getopt), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/krayg/kinx-library-getopt-55df텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)