Bug #8120

OptionParser is not handling lists of arguments correctly

Added by Jeff Sember about 1 year ago. Updated about 1 year ago.

[ruby-core:53517]
Status:Rejected
Priority:Normal
Assignee:-
Category:lib
Target version:-
ruby -v:ruby 2.0.0p0 (2013-02-24 revision 39474) [x86_64-darwin11.4.2] Backport:

Description

Only the first element in a list of arguments is being processed by OptionParser. With the following program:


require 'optparse'

options = {}

optparse = OptionParser.new do |opts|
options[:list] = nil
opts.on("-l","--list x,y,z", Array, "Example") do |list|
options[:list] = list
end
end

arg = "--list a b c".split
optparse.parse(arg)

puts options

...I expect to see {:list=>["a","b","c"]} as output, but instead I get:

{:list=>["a"]}

History

#1 Updated by Eric Hodel about 1 year ago

  • Category set to lib
  • Status changed from Open to Rejected

You must use commas and no whitespace when entering a list as in your second arguments to opts.on

Also available in: Atom PDF