NIM에서 명령 행을 통해 인수를 올바르게 전달하는 방법은 무엇입니까?

alec_djinn

다음 코드 조각을 사용하여 명령 줄 인수를 구문 분석하고 테이블에 저장합니다.

var args = initTable[string, string]()
for kind, key, val in getopt():
    args.add(key,val)

그러나 =명령 줄을 전달 하는 경우에만 작동합니다.

./mytool -i=somefile.txt

이 경우 argsis {i: somefile.txt}, 내가 원하는 것입니다 (키 : 값 쌍).

하지만 사용하는 경우 ./mytool -i somefile.txt그 다음 args이다 {somefile.txt: , i: }나는 (두 키와 값 없음)을 기대하는 것을 확실히이다.

사용하지 않고 인수를 구문 분석하는 적절한 방법은 무엇입니까 =?

다음은 두 가지 경우의 종류, 키 및 발 출력입니다.

$ ./diceof -a=ACTGCTGTGTGCACAGTGTCACGTGT -b=ACTGCTGTGTGCACAGTGTCACGTGa
kind:cmdShortOption
key :a
val :ACTGCTGTGTGCACAGTGTCACGTGT
kind:cmdShortOption
key :b
val :ACTGCTGTGTGCACAGTGTCACGTGa


$ ./diceof -a ACTGCTGTGTGCACAGTGTCACGTGT -b ACTGCTGTGTGCACAGTGTCACGTGa
kind:cmdShortOption
key :a
val :
kind:cmdArgument
key :ACTGCTGTGTGCACAGTGTCACGTGT
val :
kind:cmdShortOption
key :b
val :
kind:cmdArgument
key :ACTGCTGTGTGCACAGTGTCACGTGa
val :

물론 이전에 val다음 key추가하지 않으면 발견 여부를 확인할 수 있습니다 val. 하지만 더 우아한 솔루션을 찾고 있습니다.

Panda0nEarth

parseopt2 에 대한 문서사령관 의 문제 에 대한 논의 (# 10 참조)를 기반으로 parseopt2는 옵션을 구문 분석하는 '적절한'방법이 있는지 알 수없는 것 외에는 =또는 만으로 키 값을 설정할 수 :있습니다. 가치.

Commandeer는 다음 토큰이 cmdArgument인지 확인하고 값을 할당하여 키와 값이 공백으로 구분되는 옵션을 사용합니다.

var nextToken = cliTokens.pop()
if nextToken.kind == parseopt2.cmdArgument:
  try:
    assign(nextToken.key)
  except ValueError:
    exitWithErrorMessage(getCurrentExceptionMsg())
  else:
    cliTokens.add(nextToken)

Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.

En caso de infracción, por favor [email protected] Eliminar

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados

OpenGL 변환을 위해 행렬로 수학을 올바르게 수행하는 방법은 무엇입니까?

올바른 프로비저닝 프로파일로 2019 년에 명령 줄을 통해 Xcode 프로젝트를 빌드하는 방법은 무엇입니까?

purrr :: pmap을 통해 tibble에서 함수로 매개 변수를 올바르게 전달하는 방법

명령 줄 인수를 올바르게 비교하는 방법은 무엇입니까?

gnuplot에 명령 줄 인수를 전달하는 방법은 무엇입니까?

scikit-learn에서 교차 검증을 올바르게 수행하는 방법은 무엇입니까?

레일의 루비에서 "where"절을 올바르게 수행하는 방법은 무엇입니까?

명령 줄을 통해 appium 서버를 중지하는 방법은 무엇입니까?

명령 줄 인수를 통해 속성 파일 값을 재정의하는 방법은 무엇입니까?

open 명령으로 실행되는 프로그램에 명령 줄 인수를 전달하는 방법은 무엇입니까?

Visual Studio 2017에서 Azure 함수를 올바르게 실행하는 방법은 무엇입니까?

Gorm에서 부분 업데이트를 올바르게 수행하는 방법은 무엇입니까?

requirejs간에 변수를 전달할 수 있도록 종속성 파일을 올바르게 설정하는 방법은 무엇입니까?

numpy 문서에서 f2py 예제를 올바르게 실행하는 방법은 무엇입니까?

사용자 정보를 Redis에 더 빠르게 저장해야합니다. 올바른 명령은 무엇입니까? (더 나은 성능을 얻으려면)

명령 줄 입력을 올바르게 비 정렬 화하는 방법은 무엇입니까?

EMR 인스턴스에서 spark-redshift에 대한 자격 증명을 올바르게 제공하는 방법은 무엇입니까?

SQL LIKE 명령에서 sysdate를 전달하는 방법은 무엇입니까?

SDL_ttf에서 할당 한 리소스를 올바르게 해제하는 방법은 무엇입니까?

종속성 주입을 위해 startup.cs에서 추상, 제네릭 클래스를 올바르게 등록하는 방법은 무엇입니까?

pymongo에서 정규 표현식을 올바르게 디자인하는 방법은 무엇입니까?

Git Bash 내에서 Windows 앱에 명령 줄 인수를 전달하는 방법은 무엇입니까?

Blob에서 csv 파일의 문자 집합을 올바르게 수정하는 방법은 무엇입니까?

함수 내에서 time.sleep ()을 올바르게 사용하는 방법은 무엇입니까?

Excel에서이 중첩 IF 함수의 형식을 올바르게 지정하는 방법은 무엇입니까?

리플렉션을 통해 내부 클래스를 올바르게 인스턴스화하는 방법은 무엇입니까?

웹팩을 실행하는 jhipster 앱에서 전단지를 올바르게 가져 오는 방법은 무엇입니까? -마커 아이콘 누락

명령 줄에서 npm 및 grunt로 인수를 전달하는 방법은 무엇입니까?

D에서 템플릿 인수로 int 집합 (또는 적어도 목록)을 전달하는 관용적 (일명 "올바른") 방법은 무엇입니까?

TOP Lista

CalienteEtiquetas

Archivo