R을 사용하여 명령 줄 도구를 만들 때 docopt package을 사용하기로 결정했습니다. 그것은 플래그를 전달하기 위해 작동하지만 두 개의 숫자 값을 전달하는 방법을 알아낼 수 없습니다. 나는 그것이 방법 패키지가로드되는 것을 나에게 경고하고 아무 것도 반환하지 ./test.R -lr 2000 -hr 4000
을 사용하여 실행하려고 할 때마다docopt 패키지로 두 개의 숫자 인수를 전달할 수 없음
#! /usr/bin/Rscript
'usage: ./test.R [-lr <low> -hr <high>]
options:
-h --help Shows this screen
-lr --low <low> Passes low risk investiment
-hr --high <high> Passes high risk investiment' -> doc
library(docopt)
# retrieve the command-line arguments
opts <- docopt(doc)
# what are the options? Note that stripped versions of the parameters are added to the returned list
cat(opts$high)
cat(opts$low)
str(opts)
: 아래 코드를 참조하십시오.
- 여기에 나의 실수는 무엇입니까?
철저히 답변 해 주셔서 감사합니다. 그러나 불행히도 작동하지 않으므로 CRAN의 docopt와 함께 R (R 버전 3.4.1)의 버그 여야합니다. –
그래, 원래는 원래의 버전이 호환되지 않는 docopt와 관련된 문제가 아니라 R 구현 (두 버전 모두에 문제가있는 것으로 보임) 문제로 해석했다. 나는 당신이 이미 [버그 리포트] (https://github.com/docopt/docopt.R/issues/32)를 제출했음을 알았습니다. – r2evans
오류를 발견했습니다. docopt의 R 반복은 ./test.R을 사용 섹션에서 처리하지 않는다. 그것은 test.R이어야한다. –