[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Usage message in optparse.. summarize method?

Jeff Dickens

12/1/2003 2:32:00 AM

I tried your script, and -h doesn't output anything. I'm using ruby 1.8.0.

Looking through the reference docs for optparse, there seems to be a
"summarize" method that does what we want.

But I can't find diddly for examples of more advanced use of optparse. The
stuff at learning-ruby.com and the FIRSTSTEP.ja.html file that comes with
the distribution are very basic.

Does anyone have more examples of using optparase with the summarize method
or any other advanced examples?

Thanks.

Nathaniel Talbott (nathaniel@NOSPAMtalbott.ws) wrote:
>> I've been wanting an easy way to output usage info for my
>> programs that use GetoptLong, without having to duplicate all
>> the option information; once for the creation of the
>> GetoptLong object, and again in a help message. ..snip..>Well, you could
try using optparse...
>
> require 'optparse'
>
> ARGV.options do |options|
> options.on('-d', '--date=DATE', String, 'specify a date'){|v| puts
"Date
>#{v} passed"}
> options.on('-q', '--quiet', 'be verry quiet'){puts "OK, I'm being very,
>very, very quiet... can't you tell?"}
> options.on_tail('-h', '--help', 'Print this help information'){puts
>options; exit}
> options.parse!
> end
>
>I believe that's approximately equal to what you posted. I've only just
>begun using optparse, but it seems quite powerful and easy to use.
>
>HTH,
>
>
>Nathaniel
>
><:((><


5 Answers

Nathaniel Talbott

12/1/2003 3:08:00 AM

0

On Nov 30, 2003, at 21:37, Jeff Dickens wrote:

> I tried your script, and -h doesn't output anything. I'm using ruby
> 1.8.0.

jacob:~/tmp ntalbott$ ruby -v t.rb -h
ruby 1.8.1 (2003-11-30) [powerpc-darwin]
Usage: t [options]
-d, --date=DATE specify a date
-q, --quiet be verry quiet
-h, --help Print this help information
jacob:~/tmp ntalbott$ cat t.rb
require 'optparse'

ARGV.options do |options|
options.on('-d', '--date=DATE', String, 'specify a date'){|v| puts
"Date #{v} passed"}
options.on('-q', '--quiet', 'be verry quiet') do
puts "OK, I'm being very, very, very quiet... can't you tell?"
end
options.on_tail('-h', '--help', 'Print this help information'){puts
options; exit}
options.parse!
end

Not sure why you had trouble; can you give more details?


> But I can't find diddly for examples of more advanced use of optparse.
> The
> stuff at learning-ruby.com and the FIRSTSTEP.ja.html file that comes
> with
> the distribution are very basic.

I've used http://docs.meg.nu/local-docs/ruby/optparse/opt... a
lot; it has an extensive example at the end.

HTH,


Nathaniel

<:((><



nobu.nokada

12/1/2003 7:29:00 AM

0

Hi,

At Mon, 1 Dec 2003 12:07:34 +0900,
Nathaniel Talbott wrote:
> ARGV.options do |options|
> options.on('-d', '--date=DATE', String, 'specify a date'){|v| puts "Date #{v} passed"}

If you really want to accept only dates, you can use Date
instead of String here, with requiring 'optparse/date'.

--
Nobu Nakada

Nathaniel Talbott

12/1/2003 2:49:00 PM

0

On Dec 1, 2003, at 02:28, nobu.nokada@softhome.net wrote:

> Hi,
>
> At Mon, 1 Dec 2003 12:07:34 +0900,
> Nathaniel Talbott wrote:
>> ARGV.options do |options|
>> options.on('-d', '--date=DATE', String, 'specify a date'){|v|
>> puts "Date #{v} passed"}
>
> If you really want to accept only dates, you can use Date
> instead of String here, with requiring 'optparse/date'.

Wow. Very cool.

Thanks for optparse - I've found it to be extremely useful. It makes it
so easy to provide command-line usage information for scripts that it's
almost criminal not to. Not to mention that it also makes it a cinch to
process command-line options.


Nathaniel

<:((><


Jeff Dickens

12/1/2003 5:57:00 PM

0

It was a very ruby nuby mistake on my part.. I cut and pasted and forgot to
remove the extra carriage returns thereby introduced.

Works fine now. Thanks.

And btw, what's your signoff "HTH" mean ?


"Nathaniel Talbott" <nathaniel@talbott.ws> wrote in message
news:805DE1AB-23AB-11D8-A25D-000A95CD7A8E@talbott.ws...
> On Nov 30, 2003, at 21:37, Jeff Dickens wrote:
>
> > I tried your script, and -h doesn't output anything. I'm using ruby
> > 1.8.0.
>
> jacob:~/tmp ntalbott$ ruby -v t.rb -h
> ruby 1.8.1 (2003-11-30) [powerpc-darwin]
> Usage: t [options]
> -d, --date=DATE specify a date
> -q, --quiet be verry quiet
> -h, --help Print this help information
> jacob:~/tmp ntalbott$ cat t.rb
> require 'optparse'
>
> ARGV.options do |options|
> options.on('-d', '--date=DATE', String, 'specify a date'){|v| puts
> "Date #{v} passed"}
> options.on('-q', '--quiet', 'be verry quiet') do
> puts "OK, I'm being very, very, very quiet... can't you tell?"
> end
> options.on_tail('-h', '--help', 'Print this help information'){puts
> options; exit}
> options.parse!
> end
>
> Not sure why you had trouble; can you give more details?
>
>
> > But I can't find diddly for examples of more advanced use of optparse.
> > The
> > stuff at learning-ruby.com and the FIRSTSTEP.ja.html file that comes
> > with
> > the distribution are very basic.
>
> I've used http://docs.meg.nu/local-docs/ruby/optparse/opt... a
> lot; it has an extensive example at the end.
>
> HTH,
>
>
> Nathaniel
>
> <:((><
>
>
>


Nathaniel Talbott

12/1/2003 6:15:00 PM

0

On Dec 1, 2003, at 13:02, Jeff Dickens wrote:

> It was a very ruby nuby mistake on my part.. I cut and pasted and
> forgot to
> remove the extra carriage returns thereby introduced.
>
> Works fine now. Thanks.

Great!


> And btw, what's your signoff "HTH" mean ?

Just an abbrev for "Hope That Helps" :-)


Nathaniel

<:((><