Splitting a stream of data on based on data change.

Alex sascha.orlov at gmail.com
Thu Nov 21 22:11:59 UTC 2019


On Thursday, 21 November 2019 at 21:36:08 UTC, Taylor R 
Hillegeist wrote:
> I was looking through the standard library for a good way to 
> split a range into several ranges based on value changes in the 
> stream:
>
> AAAAAAABBBBBB
> would be split on the AB transition into:
> AAAAAAA BBBBBB
>
> I just couldn't figure out an elegant way to do it? Any ideas?

Like this?

´´´
void main()
{
     import std;
     "AAAAAAABBBBBB"
         .chunkBy!((a,b) => a == b)
         .writeln;
}
´´´

https://dlang.org/library/std/algorithm/iteration/group.html
https://dlang.org/library/std/algorithm/iteration/chunk_by.html


More information about the Digitalmars-d-learn mailing list