Sto utilizzando l'implementazione docopt per R. Il mio script ha un'opzione della riga di comando in cui il formato breve è -g
. Quando eseguo il mio script, sembra che questo argomento sia prima interpretato da R e poi dal mio script. Di conseguenza ottengo uno schiaffo sul polso che non specifica un valore per la GUI. Posso impedire a R di provare a lavorare con questi argomenti da riga di comando?Come impedire che gli argomenti della riga di comando vengano interpretati da R contro solo dal mio script?
esempio di uno script:
#!/usr/bin/Rscript
suppressPackageStartupMessages(library(docopt))
"docopt practice script
Usage: foo.R [-g <goodies>]
Options:
-g <goodies>, --goodies=<goodies> Goodies
" -> doc
opts <- docopt(doc)
cat(sprintf("goodies = %s\n", opts$goodies))
Ecco cosa succede quando l'eseguo:
Jennifers-MacBook-Pro-3:scripts jenny$ ./foo.R -g donuts
WARNING: --gui or -g without value ignored
goodies = donuts
Se si modifica la forma breve del opzione dal -g
al -j
, il WARNING
va via ... ma ho una buona ragione per usare la lettera g
!
Se rispettate solo con '' --goodies senza la forma abbreviata mangiato da R ti giri intorno. –
'-G' dovrebbe funzionare anche ... – krlmlr