From: Pit Capitain Date: 2002-08-01T16:38:55+09:00 Subject: Re: GetoptLong#to_hash On 1 Aug 2002, at 15:41, Paul Duncan wrote: > I find myself converting the results of option parsing into a hash. I > was wondering if other people would find something like this useful in > the main library: > > class GetoptLong > def to_hash > hash = {} > each { |key, val| hash[key] = val or true } > hash > end > end I used a similar approach, too, and found it very useful. Otherwise I had to use GetoptLong#each to process all of the options at once, storing more or less the same information in instance variables for later use. I also added an optional parameter to be able to specify default values. In your code it could look something like: class GetoptLong def to_hash( hash = {} ) each { |key, val| hash[key] = val or true } hash end end so you could call it as GetoptLong.new( ... ).to_hash( "--width" => 35, "--height" => 20 ) Regards, Pit