Short list with things to finish for D2
Andrei Alexandrescu
SeeWebsiteForEmail at erdani.org
Thu Nov 19 09:23:24 PST 2009
grauzone wrote:
> Andrei Alexandrescu wrote:
>> You mean use a struct for the string-value pair? A struct cannot have
>> a ref member, so it would still need to store a pointer. (But maybe I
>> misunderstood the point.)
>
> Like this:
>
> void main(string[] commandline) {
> struct Args {
> string param1 = "can even have default arguments";
> int param2;
> }
> Args args = getopt!(Args)(commandline);
> writefln("param1 = %s", args.param1);
> }
>
> No pointers. Instead of returning it, struct could be passed by ref, too.
I think that's a good idea, but we still need a means to express the
name of the parameters e.g. for mapping "--multi-word-option" to
multiWordOption. Then I fear things will inevitably get thicker, and
simplicity was the main attractiveness of getopt.
(FWIW, getopt is somewhat dear to me; it was one of the first pieces of
code I wrote in D. I'd dreamed for such a simple facility for years, and
I was very glad that it was doable in D. If getopt starts becoming
bigger and more nontrivial to use, I think some of the elegance of its
initial design would be lost.)
Andrei
More information about the Digitalmars-d
mailing list