https://issues.dlang.org/show_bug.cgi?id=8280
[email protected] changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|std.array.uninitializedArra |std.array.uninitializedArra |yExtend |yExtend, | |std.array.initializedArray --- Comment #1 from [email protected] --- I also suggest to add a "std.array.initializedArray" function similar to std.array.uninitializedArray, that accepts another extra argument that is the initialization value or a lambda to fill the array: This allocated an array of 100 spaces: auto data = initializedArray!(char[])(100, ' '); It is equivalent to: auto data = uninitializedArray!(char[])(100); data[] = ' '; Another example usage (note the result is immutable): immutable data = initializedArray!(int[])(50, i => i); That is equivalent to (but there is no data_ temporary variable): auto data_ = uninitializedArray!(int[])(50); foreach (immutable i; 0 .. 50) data_[i] = i; immutable data = data_.assumeUnique; Another example usage: immutable mat = initializedArray!(int[][])(20, 20, (i, j) => i * j); That is equivalent to (but there is no mat_ temporary variable): auto mat_ = uninitializedArray!(int[][])(20, 20); foreach (immutable i; 0 .. 20) foreach (immutable j; 0 .. 20) mat_[i][j] = i * j; immutable mat = mat_.assumeUnique; --
