On Wednesday, 18 November 2015 at 14:11:45 UTC, maik klein wrote:
On Wednesday, 18 November 2015 at 13:51:59 UTC, John Colvin
wrote:
On Wednesday, 18 November 2015 at 12:20:42 UTC, maik klein
wrote:
[...]
I think this is a bug, please report it at issues.dlang.org
and perhaps there will be an explanation or it will be fixed.
In the mean time, something like this should work:
auto arange2 = zip(ai[],ai1[],ai2[]);
arange2.each!((t) => writeln(t[0], t[1], t[2]));
// or if you really must have the names:
arange2.each!((t) => (a,b,c){ writeln(a, b, c); }(t.expand));
Thanks, but the problem I have with zip is that it doesn't work
with "ref".
for example
auto arange3 = zip(ai[],ai1[],ai2[]);
foreach(ref a; arange3){
a[0] = 42;
}
Won't change anything. Is this another bug?
Unfortunately, yes: https://issues.dlang.org/show_bug.cgi?id=10541
Note that
while(!arange3.empty)
{
arange3.front[0] = 42;
arange3.popFront();
}
should work as expected.