I need some help with OptionsParser

Hey all,

I must be doing something wrong here. Im calling the following file
this way:
ruby script.rb -s 1234
or
ruby script.rb -s1111

#Code snip
require 'optparse'
opts = OptionParser.new
opts.on("-s", "--size VAL", Integer) do |val|
puts "-s #{val}"
puts val
end

But..no matter what I do, I don't get any values out. I must be doing
something wrong??

Thanks!
Brian
PS: The documentation really isn't too clear on this...

I think the "Integer" is unnecessary. Here's how I usually use it:

opts.on("-p", "--prefix NAME", "REQUIRED: Set the prefix NAME (like
'ldpg').") {|p| $prefix = p}

HTH,
Keith

···

On Monday 20 March 2006 1:13 pm, bcorrigan78@gmail.com wrote:

Hey all,

I must be doing something wrong here. Im calling the following file
this way:
ruby script.rb -s 1234
or
ruby script.rb -s1111

#Code snip
require 'optparse'
opts = OptionParser.new
opts.on("-s", "--size VAL", Integer) do |val|
puts "-s #{val}"
puts val
end

Not working on my end.. Still PUTS nothing?

Am I calling it wrong?

ruby test.rb -p test
or
ruby test.rb -ptest

still put nothing :frowning:

Are you parsing them?

keith@devel /work/tools/keith/bin/oneoff $ cat ./rubytalk.rb
#!/usr/bin/env ruby
require 'optparse'
opts = OptionParser.new
opts.on("-s", "--size VAL", "Something to describe size") {|s| puts
"Size is: #{s}"}
opts.parse! # the important part...

keith@devel /work/tools/keith/bin/oneoff $ ./rubytalk.rb -s "Very Big"
Size is: Very Big

HTH,
Keith

···

On Monday 20 March 2006 1:33 pm, bcorrigan78@gmail.com wrote:

Not working on my end.. Still PUTS nothing?

Hey.. Well, I was.. There really must be something up here.

Code: (test.rb)
require 'optparse'
opts = OptionParser.new
opts.on("-s", "--size VAL", "Something to describe size") {|s| puts
"Size is: #{s}"}
opts.parse! # the important part...

Result:
C:\temp>ruby test.rb -s "Very Big"

C:\temp>

^^
                ^^

you are passing '-s' to ruby, not test.rb. the '--' tells ruby to stop
processing command line options.

-a

···

On Tue, 21 Mar 2006, bcorrigan78@gmail.com wrote:

Hey.. Well, I was.. There really must be something up here.

Code: (test.rb)
require 'optparse'
opts = OptionParser.new
opts.on("-s", "--size VAL", "Something to describe size") {|s| puts
"Size is: #{s}"}
opts.parse! # the important part...

Result:
C:\temp>ruby -- test.rb -s "Very Big"

--
share your knowledge. it's a way to achieve immortality.
- h.h. the 14th dali lama

That seems right! But alas :frowning:

C:\temp>ruby -- test.rb -s "Very Big"

C:\temp>

try

   ruby test.rb -- -s "Very Big"

-a

···

On Tue, 21 Mar 2006, bcorrigan78@gmail.com wrote:

That seems right! But alas :frowning:

C:\temp>ruby -- test.rb -s "Very Big"

--
share your knowledge. it's a way to achieve immortality.
- h.h. the 14th dali lama

Nada.. This isn't working either:

c:\temp>test.rb -s "Very Big"

c:\temp>

(But it kind of rules out the problem being the -- though right?)

···

ara.t.howard@noaa.gov wrote:

On Tue, 21 Mar 2006, bcorrigan78@gmail.com wrote:

> That seems right! But alas :frowning:
>
> C:\temp>ruby -- test.rb -s "Very Big"

try

   ruby test.rb -- -s "Very Big"

-a
--
share your knowledge. it's a way to achieve immortality.
- h.h. the 14th dali lama