[prev in list] [next in list] [prev in thread] [next in thread] 

List:       ruby-talk
Subject:    Re: parsing unknown options
From:       Robert Klemme <shortcutter () googlemail ! com>
Date:       2006-11-15 9:05:08
Message-ID: 4s03dqFtbdcoU1 () mid ! individual ! net
[Download RAW message or body]

On 14.11.2006 18:19, ara.t.howard@noaa.gov wrote:
> On Tue, 14 Nov 2006, Stefano Crocco wrote:
> 
>> Thanks for the answers. I decided to take an approach similar to
>> building my own parser, but keeping my two steps approach:
>> - first:
>>
>>  ARGV.each_with_index do |s, i|
>>    plugin=args[i+1] if s=='-p' or s=='--plugin' or s=~/-\w*p/
>>  end
>>
>> (this should take care of the three possible formats: short option, long
>> option and several short options together, such as -abp plugin
>>
>> - load the plugin
>> - use OptionParser to rescan the options
>>
>> I'm still working on how to communicate the options recognized by the
>> plugin to the main program.
>>
>> Stefano
> 
> OptionParser already handles unknown options:
> 
>   begin
>     option_parser.parse! argv
>   rescue OptionParser::InvalidOption => e
>     # preverve unknown options
>     e.recover argv
>   end

Thanks!  Learn something new every day.  I believe OptionParser to be an 
excellent piece of software - actually this short example is just 
another confirmation for that.  But I always found that documentation of 
OptionParser was a bit weak.  Did I miss anything?  Clearly the docs on 
ruby-doc.org are rudimentary.  Is there anyone that knows OptionParser 
intimately and is willing to write up some documentation or at least add 
some more examples to doc of class OptionParser that demonstrate 
additional funcationality?  It might be sufficient to just collect 
working pieces of OptionParser code from the community, massage it a bit 
and place it into the default docs.  I would greatly appreciate that - 
and probably others, too.  What do you think?

Kind regards

	robert

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic