Forum: Ruby GetoptLong example

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
1b62a85b59ccab03b84ee5ec378f75b4?d=identicon&s=25 Steve Litt (Guest)
on 2005-12-15 01:39
(Received via mailing list)
Hi all,

Anyone have a short and easy GetoptLong example in Ruby? It's not
object oriented in Perl or C, so I'm in unfamiliar territory.

Thanks

SteveT

Steve Litt
http://www.troubleshooters.com
slitt@troubleshooters.com
526d60de6472502bb570a9df2842b33b?d=identicon&s=25 Nick Sieger (Guest)
on 2005-12-15 05:13
(Received via mailing list)
On 12/14/05, Steve Litt <slitt@earthlink.net> wrote:
> Hi all,
>
> Anyone have a short and easy GetoptLong example in Ruby? It's not
> object oriented in Perl or C, so I'm in unfamiliar territory.

Funny I was just in the same position yesterday.  A google of "ruby
getoptlong" gave this as the second link, which is how I got on with
it:

http://www.linuxdevcenter.com/pub/a/linux/2003/09/...

Cheers,
/Nick
8ecb8bb62c3283f8069a54056c7dc25f?d=identicon&s=25 Jim Freeze (Guest)
on 2005-12-15 13:32
(Received via mailing list)
On 12/14/05, Nick Sieger <nicksieger@gmail.com> wrote:
> On 12/14/05, Steve Litt <slitt@earthlink.net> wrote:
> > Hi all,
> >
> > Anyone have a short and easy GetoptLong example in Ruby? It's not
> > object oriented in Perl or C, so I'm in unfamiliar territory.

Have you tried OptionParser? It is fully OO and integrated with
Application.

Yes, that was the sound of my own horn. :)

I know CommandLine cannot solve everyones needs, but I would be
interested
to hear about it if it doesn't meet your needs. Maybe there is something
I can change or add to the library.

My nefarious global take over plans are to see CommandLine - which
has a Ruby flavor - be put in the stdlib and surplant the existing
optparse
and getoptlong parsers which use aging methodologies.
1b62a85b59ccab03b84ee5ec378f75b4?d=identicon&s=25 Steve Litt (Guest)
on 2005-12-15 14:48
(Received via mailing list)
On Thursday 15 December 2005 07:32 am, Jim Freeze wrote:
>
> Yes, that was the sound of my own horn. :)
>
> I know CommandLine cannot solve everyones needs, but I would be
> interested to hear about it if it doesn't meet your needs. Maybe
> there is something I can change or add to the library.
>
> My nefarious global take over plans are to see CommandLine -
> which has a Ruby flavor - be put in the stdlib and surplant the
> existing optparse and getoptlong parsers which use aging
> methodologies.

Hi Jim,

I came across OptionParser. I tried reading the documentation, but I
saw no simple proof of concept to get me started. I therefore opted
for GetoptLong. At least it's not a total stranger, I've used it in
C and Perl.

Perhaps I just came across the wrong documentation.

I'd like to have the OptionParser documentation contain a proof of
concept, and a couple more examples that follow logically, without
skipping steps.



Thanks

SteveT

Steve Litt
http://www.troubleshooters.com
slitt@troubleshooters.com
B7f73e9f9d35be6a44b15f603f2910d4?d=identicon&s=25 Wybo Dekker (Guest)
on 2005-12-15 16:03
(Received via mailing list)
On Thu, 15 Dec 2005, Steve Litt wrote:

> I came across OptionParser. I tried reading the documentation, but I
> saw no simple proof of concept to get me started. I therefore opted
> for GetoptLong. At least it's not a total stranger, I've used it in
> C and Perl.
>
> Perhaps I just came across the wrong documentation.
>
> I'd like to have the OptionParser documentation contain a proof of
> concept, and a couple more examples that follow logically, without
> skipping steps.

http://www.ruby-doc.org/stdlib/libdoc/optparse/rdo...

is good, although I don't like the use of ostruct. For a cleaner, yet
extensive, construction see http://www.servalys.nl/scripts/mk with its
rdoc at http://www.servalys.nl/scripts/doc/files/mk.html
8ecb8bb62c3283f8069a54056c7dc25f?d=identicon&s=25 Jim Freeze (Guest)
on 2005-12-15 16:09
(Received via mailing list)
Hi Steve

On 12/15/05, Steve Litt <slitt@earthlink.net> wrote:
> I came across OptionParser. I tried reading the documentation, but I
> saw no simple proof of concept to get me started. I therefore opted
> for GetoptLong. At least it's not a total stranger, I've used it in
> C and Perl.
>
> Perhaps I just came across the wrong documentation.
>
> I'd like to have the OptionParser documentation contain a proof of
> concept, and a couple more examples that follow logically, without
> skipping steps.

Is this the documentation that you are referring to that needs
improvement:

  http://rubyforge.org/docman/view.php/632/233/poste...

Please help me out and post some comments on what you like and don't
like. I am still making improvements in the docs.
1b62a85b59ccab03b84ee5ec378f75b4?d=identicon&s=25 Steve Litt (Guest)
on 2005-12-15 19:04
(Received via mailing list)
On Thursday 15 December 2005 10:06 am, Jim Freeze wrote:
> > I'd like to have the OptionParser documentation contain a proof
> Please help me out and post some comments on what you like and
> don't like. I am still making improvements in the docs.

Hi Jim,

I'm pretty sure those are the docs I couldn't fathom. IMHO what you
need is a quickstart -- all code, no theory. Start with the
simplest possible program that the user can paste into his editor
and then give him the command line to run, and show the expected
output.

I think the idea is to get the user to say "hey, I can do this".
Once he's hooked, he has incentive to dig into the incredibly rich
array of tools you offer.

Personally, when I write documentation on Troubleshooters.Com, I
always start with a "Hello World" and then, one feature at a time,
I move from the known to the unknown (my wife's a teacher :-).

Another thing. I usually show full programs (in blue background) so
the user can paste them into his editor and run them immediately,
and then the expected results in yellow background so the user can
compare his results to the expected results. Once the user sees
both the code and the results, he can then figure out why it works
like it does, and he can also experiment with the code to learn
even more.

For an example of how I write my documentation, see this:

http://www.troubleshooters.com/codecorn/ruby/basic...

Please keep in mind that I'm displaying this as an example of my
documentation methods, not as an example of particularly good Ruby
documentation. I wrote most of this material with less than a
week's Ruby experience, and before I signed up with this mailing
list. In fact, a companion document called "Ruby the Right Way" was
my reason for my "They say I write Ruby like Perl" post.

If any of you have the book "Samba Unleashed", the chapters with my
name on them are another good example of my documentation methods.

In summary -- IMHO a quickstart would be the catalyst to greater
acceptance of OptionParser. Use whole but tiny programs, without
error checking and the like, to make your points. That way the user
can cut and paste right onto his box and follow your examples on
his own. Within 10 minutes the user understands the power of
OptionParser and is ready to learn more.

Thanks

SteveT

Steve Litt
http://www.troubleshooters.com
slitt@troubleshooters.com
This topic is locked and can not be replied to.