countUntil to print all the index of a given string.

psychoticRabbit meagain at meagain.com
Mon Feb 19 02:31:13 UTC 2018


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 ;-)



More information about the Digitalmars-d-learn mailing list