iterating through a range, operating on last few elements at a time
Timon Gehr via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Fri Aug 14 06:32:56 PDT 2015
On 08/14/2015 03:26 PM, Timon Gehr wrote:
> On 08/14/2015 05:12 AM, H. S. Teoh via Digitalmars-d-learn wrote:
>> ...
>>
>> I didn't figure out how to eliminate the short slices toward the end,
>
> ...
>
> :o)
> ...
Less hacky and less efficient:
auto slidingWindow(R)(R range, int k) {
return iota(k).map!(i=>range.save.drop(i))
.array.transposed.zip(range.save.drop(k-1)).map!(a=>a[0]);
}
More information about the Digitalmars-d-learn
mailing list