On 31 Jul 2002, at 15:13, Patrick Bennett wrote:
> Sorry, that won't work.
> Even with REQUIRE_ORDER GetoptLong still eats the first non-option it
> hits so further processing won't see that argument. That, plus, the
> ordering of the arguments isn't always going to be conveniently in the
> 'right order.'
>
> nobu.nokada / softhome.net wrote:
>
> >So set opts.ordering to GetoptLong::REQUIRE_ORDER, and make new
> >GetoptLong instance according to the remained first argument.
> >
Hi Patrick,
I can think of two approaches to your problem:
1) call GetoptLong in the beginning of the program with all possible
options, store them in a hash, and pass the hash to the rest of the
program
2) write a wrapper around the useage of GetoptLong that preserves
ARGV, something like (not tested)
def with_ARGV_saved
saved_ARGV = ARGV.dup
yield
ensure
ARGV.clear.concat saved_ARGV
end
Regards,
Pit