unpacking

Stewart Gordon smjg_1998 at yahoo.com
Tue Dec 7 17:28:44 PST 2010


On 07/12/2010 17:29, spir wrote:
> Hello D people,
>
> Is there a way to unpack an array into local vars, as:
> 	auto x = [1,2,3];
> 	a,b,c = x;

import std.stdio;

void unpack(A, T...)(out T vars, A data) {
     assert (vars.length == data.length);
     foreach (i, v; vars) {
         vars[i] = data[i];
     }
}

void main() {
     auto x = [1,2,3];
     int a, b, c;
     unpack(a, b, c, x);
	
     writefln("%d %d %d", a, b, c);
}

Stewart.


More information about the Digitalmars-d-learn mailing list