On Thu, 17 Feb 2011 00:05:15 +0100, Andrej Mitrovic wrote:

> On 2/16/11, jam <gr0v3e...@gmail.com> wrote:
>>
>> import std.stdio,std.algorithm,std.range,std.container;
>>
>> void main()
>> {
>>     auto a = [5,1,2,3,4,5,1];
>>     auto index = countUntil(retro(a),5);
>>     auto R = retro(take(retro(a),index+1)); writeln(R);
>>     R[0] = 6;
>>     writeln(a);
>> }
>>
>> but this is just getting nutty.
>>
>>
>>
> Nutty, but it's great how much lines you can save when composing ranges.
> retro and take are both lazy afaik, so this can't be that bad?

Well take is for sure, but I'm not sure about retro(I didn't see anything 
in range.d or the online docs that indicate it is).  You could save some 
work by just reversing the container once at the start though.

Reply via email to