In my work we are rewriting some of ours modules from PHP to D.
And today one of my colleague want to rewrite some of PHP code,
where he use list statement. I never use this statement in PHP.
So I do not know if there is a some alternative in D phobos. So I
try to write my own solution. And it took approximately only one
minute and that why I ove D.
Because I was able to implement same functionality with same
syntax quite fast :).
Here is my solution. Yes I know, it is not perfect but it works
:P.
import std.stdio;
struct list
{
void*[] ptrs;
static list opCall(T...)(auto ref T vars)
{
list ls;
foreach(ref var; vars)
{
ls.ptrs ~= &var;
}
return ls;
}
void opAssign(T)(T[] values)
{
foreach(index, ptr; ptrs)
{
*(cast(T*)ptr) = values[index];
}
}
}
void main(string[] args)
{
int a, b, c;
list(a, b, c) = [1,2,3];
writeln(a);
writeln(b);
writeln(c);
}