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