Check ARGV for option (what parser to use?)

B

Boris Callens

Dear mailinglist,

Currently I'm eluded by the ARGV parser GetoptLong.
All the example show me the same structure that just itterates through
all the parsed flags and then overwrite a previously set standard value
when a certain case branch gets hit.

Am I completely wrong or is this a horrible way of doing things?

I would like for example to first check if a certain flag is set (--help
for example) before I get to setting and parsing values.

I would think that the parser creates a Hash table and that I could
acces it in this style:

if (opts[:help]) then
puts "some usage help"
else
parse all other values
end

Am I off track here?

regards
Boris
 
A

Ari Brown

On Jul 2, 2007, at 10:37 AM, Boris Callens wrote:
<snip>

I user CommandLine::OptionParser (gem), but there is also optparse.
You might have better luck with those.

-------------------------------------------|
Nietzsche is my copilot
 
E

Eli Bendersky

Dear mailinglist,

Currently I'm eluded by the ARGV parser GetoptLong.
All the example show me the same structure that just itterates through
all the parsed flags and then overwrite a previously set standard value
when a certain case branch gets hit.

Am I completely wrong or is this a horrible way of doing things?

I would like for example to first check if a certain flag is set (--help
for example) before I get to setting and parsing values.

I would think that the parser creates a Hash table and that I could
acces it in this style:

if (opts[:help]) then
puts "some usage help"
else
parse all other values
end

Am I off track here?

What really bothers you about the way GetoptLong works ? It seems to
me like an efficient and correct way to do things.

How can you check that --help is set without parsing the arguments ?

Although the documentation is (as usual) horrible, you can easily
understand how the module works by reading the code of the get()
function (it is used by 'each' under the hood).

Eli
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
474,262
Messages
2,571,311
Members
47,981
Latest member
satome

Latest Threads

Top