2012-10-14 3 views
4

모든 하위 모드에서 공통 플래그가있는 경우 "공통 플래그"아래에 나열되지만 해당 플래그는 여전히 모드 생성자 다음에 와야한다는 것을 알고 있습니다. 때로는 개별 모드 대신 프로그램과 관련된 플래그가 있으므로 모드 항목 전에 (또는 후에도) 지정할 수 있어야합니다. . 예를 들어, 내 프로그램은 병렬 프로세스의 수는 "-n"플래그에 의해 주어진다 관계없이에서 실행중인 어떤 모드의 병렬 작업을 처리 할 수 ​​있도록 명령 행은 다음과 같은 뭔가 :CmdArgs에는 하위 모드 외부에 플래그가 있습니까?

myprogram -n 4 MODE1 [flags/args-for-MODE1] 

수 이 CmdArgs에서 수행 할? 감사

답변

2

이 현재 불가능하지만 CmdArgs에 추가 할 수있는 티켓이 : http://code.google.com/p/ndmitchell/issues/detail?id=457

그것은, 약간 더 복잡 할 수는 필수 인수 -n 소요 MODE1MODE2이있는 경우 이후 인수없이 -n 소요되는 수행 한 후 무엇을 평균 다음

myprogram -n MODE2 MODE1 

그것은 값 MODE2와 모드 MODE1-n 될 수있다, 또는 플래그 -n 및 인수 MODE1을 갖는 모드 MODE2 일 수 있습니다. 나는 비록 내가 표를 시행 할 때 그것을 이해할 것이다라고 확신한다.

+0

예를 들어, MODE1이 MODE2의 하위 모드라고 가정합니다. – ePak

+0

마지막 코멘트를 무시하고 실수로 enter를 누르십시오. '-n'이 문자열 값을 취하면,'MODE1' 모드가 아니라'myprogram'의 플래그 인 경우에만, 모호하지 않게하기 위해 MODE2를 인용해야한다고 가정합니다. 기본적으로 모드는 모드 생성자 다음에 오는 경우에만 플래그를 고려해야하며 가장 가까운 모드 생성자가 더 높은 우선 순위를 갖습니다. – ePak

+0

나는 위의 예제에서 MODE2가되어야한다고 생각한다. 왜냐하면 MODE1을 원한다면 항상'-nMODE2 MODE1'을했을 것이다. –

관련 문제