OptParse bug?

R

Roger Pack

With this file:

C:\dev\thesis_p2pwebcode\src>cat example.rb
require 'optparse'

OptionParser.new do |opts|

opts.on('-p', '--do_multiples_with_variant=NAME', 'multiples variant
ex: ') do |name|
end
end.parse!


I get the following output:
Usage: example [options]
-p=NAME multiples variant ex:
--do_multiples_with_variant


however it doesn't actually accept -p=NAME
it accepts -pNAME

Anybody know if this is expected?
Thanks!
-=r
 
J

Joel VanderWerf

Roger said:
With this file:

C:\dev\thesis_p2pwebcode\src>cat example.rb
require 'optparse'

OptionParser.new do |opts|

opts.on('-p', '--do_multiples_with_variant=NAME', 'multiples variant
ex: ') do |name|
end
end.parse!


I get the following output:
Usage: example [options]
-p=NAME multiples variant ex:
--do_multiples_with_variant


however it doesn't actually accept -p=NAME
it accepts -pNAME

Anybody know if this is expected?
Thanks!
-=r

Seems to be a unix standard:

http://www.faqs.org/docs/artu/ch10s05.html
 
J

Joel VanderWerf

Roger said:
So were you saying that having help output like
"-p=NAME" is standard when the input is actually "-pNAME" in use?

OptParse typically outputs
"-p --long=NAME"

but in this case it seems to output
"-p=NAME --long"

for some reason.

Thoughts?
-=r

So, both of the following are issues, right?

1. parser doesn't accept syntax "-p=NAME", but only "-pNAME"

2. generated help text suggests otherwise, that the former is accepted

IMO, #1 is standard, but #2 is possibly the wrong behavior.

What is causing the difference between typical output and this case? Do
you see the "-p --long=NAME" variant for other options in the same
program? Looking at comparable output in my own use of optparse, the
format tends to look like this:

-r, --read-options [FILE] Read options from file [stdin]
 
F

F. Senault

Le 31 janvier 2009 à 23:55, Joel VanderWerf a écrit :
What is causing the difference between typical output and this case? Do
you see the "-p --long=NAME" variant for other options in the same
program? Looking at comparable output in my own use of optparse, the
format tends to look like this:

-r, --read-options [FILE] Read options from file [stdin]

It seems to be the length of the option name :

0:33 fred@ardberg:/data/ruby/blackops% irb?> o.on('-p', '--12345678901234567890=NAME',
?> 'multiples variant ex: ') {}
Usage: irb [options]
-p, --12345678901234567890=NAME multiples variant ex:
?> o.on('-p', '--123456789012345678901234567890=NAME',
?> 'multiples variant ex: ') {}
Usage: irb [options]
-p=NAME
--123456789012345678901234567890
multiples variant ex:

When short + long + value + description are too long to hold on a single
line, optionparser tries to present it better, and it shows the bug.

Fred
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,774
Messages
2,569,596
Members
45,143
Latest member
DewittMill
Top