Assoc array typesafe variadic functions
Mint via Digitalmars-d
digitalmars-d at puremagic.com
Thu Jun 4 10:13:47 PDT 2015
On Wednesday, 3 June 2015 at 22:16:03 UTC, extrawurst wrote:
> defining a assoc array parameter would make me expect exactly
> that: that it takes a assoc array as a paramter.
Sure then, but the variadic declaration should hold significance
too, no? I would expect a function declared as
foo(int[string] value);
to take an assoc array parameter, but a function declared as
foo(int[string] value...);
to also provide some sort of variadic functionality on top of
that. The resolution would be to either offer a calling syntax
that can take advantage of this, or to make such a declaration to
produce an error. As it is, there exists a valid, undocumented
parameter declaration type in the language that serves no purpose.
> whats the benefit of implementing this special case ? you save
> exactly 2 keystrokes ?
The same can be said of any variadic function, as they could all
be called in the same manner,
foo([1, 2, 3]); // vs. foo(1, 2, 3);
The benefit is that of syntactic neatness and visual balance, as
well as helping with readability.
More information about the Digitalmars-d
mailing list