I’d like to have a command line invocation of my ruby script that looks
like the following:
Usage: vmci.rb [options] command args …
options:
-h, -?, --help generate this usage message
-l, --log-file FILE Identifies a log file to use.
-e, --log-level LOGLEVEL desired level of logging.
-x Bypass display of configuration
command
one of the command recognized by vmci.rb
args
any necessary arguments associated with the given command
I can’t figure out how to get at the “command” and “args” portions of
the command line using OptionParser. Since a variable number of options
may exist on the command line before the command, it’s not intuitive to
me how to know which element of the ARGV array to use, or how to extract
these values via OptionParser.
Nevermind … RTFM … I just went back to pickaxe 3rd edition and found
that the call to OptionParser.parse returns an array containing the
remaining elements from ARGV that weren’t processed as options.
Nevermind … RTFM … I just went back to pickaxe 3rd edition and found
that the call to OptionParser.parse returns an array containing the
remaining elements from ARGV that weren’t processed as options.
And if you use parse! (which is what I generally do) the original array
is adjusted appropriately. This is important if you want to use ARGF
for example. My typical pattern is
OptionParser.new do |opts|
opts.on…
end.parse! ARGV
now ARGV has only non args left
Kind regards
robert
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.