I have a Ruby script here that acts like a regular Unix program,
accepting a large number of command-line options/arguments. After
some are simple flags (ie: nil or 1) and some are text/numeric
Not all are required, and some must be initialized with a default value.
have currently implemented them as globals, as their values are needed
anywhere in my script, from classes to functions to top-level flow
Now I know you are not supposed to rely on globals if you can help it,
so I am
trying to rewrite my script to do away with them. The problem is that
are so many command-line switches that simply passing them to the
class/function(s) that need them would be unwieldy.
So what do I do? I was thinking of creating and populating a new class
would act similar to a C ‘struct’, but it seems to me that this is just
different way to do the exact same thing as I have now, except that I
have to qualify the variable with a class instance making my script even
verbose than it is now…so why shouldn’t we use globals again? Is it
the namespace issue or are there other reasons?
Is one global hash better than 15 global scalars?
I am not going to list my code here because it is 500+ lines but if you
to see it let me know and I will post it to the web,
Thanks for consideration,