On Wednesday, 1 July 2015 at 17:06:01 UTC, Adam D. Ruppe wrote:
I betcha it is because A, B, and C are modified by the first pass. A lot of the range functions consume their input.
Running them one at a time produces the same result. for some reason: (A.cycle.take(seg1len).array ~B.cycle.take(seg2len).array ~C.cycle.take(seg3len).array).writeln; is different from: string q = cast(string) (A.cycle.take(seg1len).array ~B.cycle.take(seg2len).array ~C.cycle.take(seg3len).array); q.writeln; I was wondering if it might be the cast?