On Sunday, 10 December 2017 at 00:39:07 UTC, Vino wrote:
Hi All,
Request you help on how to add the seed value for the reduce
function, below is the scnerio
Program 1 : Works
import std.algorithm;
void main () {
int[] ara = [1,2 ,3];
auto sum1 = ara.reduce!((a,b) => a + b);
writeln(sum1);
}
Program 2: Works
void main () {
int[] arrb = [];
auto sum1 = reduce!((a,b) => a + b)(0 , arb);
writeln(sum1);
}
So how to add seed value for the below code as same as program
1 without calling the seed value and array at the end rather
than calling it as arc.reduce!((a,b) => a + b);
void main () {
int[] arc = [];
auto sum1 = arc.reduce!((a,b) => a + b);
writeln(sum1);
}
From,
Vino.B
Another example: The below code does errors out with the below
error in there are any empty folders, else it works fine.
import std.stdio;
import std.file;
import std.container;
import std.algorithm;
ulong Size = 10;
auto SdFiles = Array!ulong(dirEntries("C:\\Temp\\BACKUP",
SpanMode.depth).map!(a => a.size).reduce!((a,b) => a +
b))[].filter!(a => a > Size);
Error:
object.Exception@C:\D\dmd2\windows\bin\..\..\src\phobos\std\algorithm\iteration.d(2794):
Cannot reduce an empty input range w/o an explicit seed value.
From,
Vino.B