V Wed, 20 Jan 2016 12:38:20 +0000 pineapple via Digitalmars-d-learn <digitalmars-d-learn@puremagic.com> napsáno:
> I'd like to make a constructor which takes a variable list of > arguments, of a short list of possible types, with different > handling depending on the type. I haven't been able to find any > documentation or examples that did quite what I'm trying to. Help? > > A fun pseudocode example of what I'm trying to do: > > this(...){ > foreach(argument){ > if(argument is a number){ > do stuff with it; > }else if(argument is of type A){ > do other stuff; > }else if(argument is of type B){ > yet more stuff; > } > } > } > import std.stdio; struct S { this(Args...)(Args args) { foreach(Type, Value;args) { writefln("Type: %s value: %s", Args[Type].stringof, Value); } } } void main() { auto s = S(1, "string"); }