"Sean Eskapp" <[email protected]> wrote in message news:[email protected]... > I'm trying to use the array() function in std.array to convert a > transformed > array using map (std.algorithm) back to a dynamic array, from a Map. I > keep > getting a cryptic error "object.except...@c:\Program Files > (x86)\D\dmd2\windows\bin\..\..\src\phobos\std\ > algorithm.d(426): Cannot reduce an empty range w/o an explicit seed > value.". > Am I misunderstanding how this is supposed to work?
You're calling reduce on an empty range. reduce!"a*b"([1, 2, 3]); // fine, translates to 1 * 2 * 3 reduce!"a*b"([7]); // also fine, translates to 7 reduce!"a*b"([]); // what should this be? Luckily you can call reduce with an extra argument giving the seed value: reduce!"a*b"(1, []); // Calculates product for both empty and non-empty ranges.
