A little help with Ranges
Ali Çehreli
acehreli at yahoo.com
Fri Aug 27 04:01:19 UTC 2021
On 8/26/21 7:17 PM, Merlin Diavova wrote:
> What I meant about the handling an empty filter is, what if I want to
> take an alternative route if the filter returns empty?
Then the operations downstream will not produce any results. For
example, the array will be empty below:
import std.stdio;
import std.range;
import std.algorithm;
import std.string;
import std.functional;
void main() {
auto significantLines = stdin
.byLineCopy
.map!strip
.filter!(not!empty)
.filter!(line => line.front != '#')
.array;
if (significantLines.empty) {
writeln("There were no significant lines.");
} else {
writefln!"The lines: %-(\n%s%)"(significantLines);
}
}
Ali
More information about the Digitalmars-d-learn
mailing list