Actions
Bug #18783
openOptionParser should recognize "-" as an optional argument
Status:
Open
Priority:
Normal
Assignee:
-
Target version:
-
ruby -v:
ruby 2.7.4p191, ruby 3.1.2p20
Description
require 'optparse'
optarg = nil
OptionParser.new do |parser|
parser.on("-o", "--opt [ARG]", "Option with optional argument") do |arg|
optarg = arg
end
end.parse!
puts "#{optarg.inspect}, #{ARGV.inspect}"
Executing the code above with -o -
as arguments outputs nil, ["-"]
when it should produce "-", []
instead.
OptionParser recognizes -
as a general non-option argument but it doesn't do the same when -
follows an option with an optional argument.
In my shell script, I consider options as -?*
(glob) instead of -*
so -
is also considered as a valid argument. Perhaps OptionParser should do the same.
Updated by konsolebox (K B) 8 months ago
Any thoughts on this?
I created a PR: https://github.com/ruby/ruby/pull/5918
Actions
Like0
Like0