On Sunday, 18 February 2018 at 15:23:14 UTC, Cym13 wrote:
On Sunday, 18 February 2018 at 14:48:59 UTC, Cym13 wrote:
[...]
Just thought of a much better/simpler solution for that last
case that also doesn't force you to read all data (which might
be impossible when dealing with infinite ranges):
import std.range;
import std.algorithm;
a[]
.enumerate // get tuples (index,
value)
.filter!(t => t[1] == "Test2") // keep only if value ==
"Test2"
.map!(t => t[0]) // keep only the index
part
.writeln;
Completely lazy.
A nice example of how D's multiparadigm programming model allows
the utilisation of algorithms that can scale to process massive
datasets.
There is an article in there somewhere ;-)