From: RichardOnRails Date: 2010-10-01T00:30:17+09:00 Subject: Re: GetoptLong usage On Sep 30, 10:38 am, Stefano Crocco wrote: > On Thursday 30 September 2010, RichardOnRails wrote: > > > > > |Hi, > > | > > |I'm using Example:http://rubylearning.com/satishtalim/ruby_arrays.html > > |as a guide to GetoptLong usage.  I get the message: > > | > > |uninitialized constant GetoptLong::OptionalArgument (NameError) > > | > > |for line 10 of the program listed below (with line 10 flagged).  Can > > |anyone point me to a working example of GetoptsLong usage? > > | > > |Thanks in Advance, > > |Richard > > | > > |# SummarizeBalances.rb > > |# K:\_Projects\Ruby\_Ruby_Apps\InvestmentSW > > |# Example:http://rubylearning.com/satishtalim/ruby_arrays.html > > | > > |require 'GetoptLong' > > | > > |    puts "Args = " + ARGV.join(", ") > > | > > |    opts = GetoptLong.new( > > |  [       "--from", "-f",  GetoptLong::OptionalArgument],     # Line 10 > > |  [       "--to", "-t",  GetoptLong::OptionalArgument], > > |  [       "--weeks_until", "-w",  GetoptLong::OptionalArgument] > > |    ) > > | > > |    # Process the arguments > > |    opts.each { |opt, arg| > > |  puts %{%s => "%s"} % [opt, arg] > > |    } > > |    rem_args = ARGV.join(", ") > > |    puts "Remaining args = %s" % [rem_args] if rem_args > > As you can see from the link you posted, the constant name is > GetoptLong::OPTIONAL_ARGUMENT, not GetoptLong::OptionalArgument. However, I'd > consider using OptionParser (which, like GetoptLong is included in the ruby > standard library) rather than GetoptLong, since it provides a much more ruby- > oriented interface. > > Stefano Hi Stefano, Excellent response. >> As you can see ... Admittedly, I did see the syntax in the example. What I didn't see, alas, was the precise option I wanted to use. By time I clicked my SciTE editor, thus overlaying the example, I forgot the syntax. Remembering the words was all I could muster. Sad tale :-) >> OptionParser Looks good, especially the comprehensive example. Best wishes, Richard