iterating through a range, operating on last few elements at a time

Laeeth Isharc via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Fri Aug 14 19:48:47 PDT 2015


On Friday, 14 August 2015 at 13:32:57 UTC, Timon Gehr wrote:
> 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]);
> }

Thanks v much HS and Timon.


Laeeth.


More information about the Digitalmars-d-learn mailing list