digitalmars.D - How to convert Map to array?
- Sean Eskapp (6/6) Jan 09 2011 I'm trying to use the array() function in std.array to convert a transfo...
- Guilherme Vieira (6/14) Jan 10 2011 It's easier to help if you provide sample code that produces the message...
- Daniel Murphy (9/18) Jan 10 2011 You're calling reduce on an empty range.
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.Exception 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?
Jan 09 2011
It's easier to help if you provide sample code that produces the message. I got that message today and fixed it, I just don't what was the problem. -- Atenciosamente / Sincerely, Guilherme ("n2liquid") Vieira On Mon, Jan 10, 2011 at 1:25 AM, Sean Eskapp <eatingstaples gmail.com>wrote: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.Exception 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?
Jan 10 2011
"Sean Eskapp" <eatingstaples gmail.com> wrote in message news:igdu78$18kt$1 digitalmars.com...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.Exception 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.
Jan 10 2011