Dream Feature Regarding Default Arguments
Idan Arye
GenericNPC at gmail.com
Mon Apr 7 16:26:23 PDT 2014
While we're at it - I would also like to see the two forms of
"variadic" named arguments:
1) Implicit Associative Array Version: works similar to Ruby
void foo(string[string] args...){
foreach(k,v;args){
writeln("%s = %s",k,v);
}
}
foo("a":"b","c":"d");
prints:
a = b
c = d
2) Templated Version: not sure about the declaration syntax.
Maybe:
void foo(T[...])(T args){
foreach(field;__traits(allMembers,T)){
writeln("%s(%s) =
%s",field,typeof(__traits(getMember,args,field)).stringof,__traits(getMember,args,field));
}
}
foo(a:1,b:"2");
prints:
a(int) = 1
b(string) = 2
More information about the Digitalmars-d
mailing list