On Sun, 14 Aug 2011 23:00:26 -0400, Andrej Mitrovic
<andrej.mitrov...@gmail.com> wrote:
Simplified (and slow) implementation:
T[] splitLength(T)(T arr, size_t count) if (isArray!T)
{
T[] result;
while (arr.length)
{
result ~= arr.take(count);
arr.popFrontN(count);
}
return result;
}
Ouch!
Slicing is your friend :) Also, threw in a reserve for good measure, and
you really need an assert to ensure count is not 0:
assert(count > 0);
result.reserve((arr.length + count - 1) / count)
while(arr.length > count)
{
result ~= arr[0..count];
arr = arr[count..$];
}
if(arr.length)
result ~= arr;
-Steve