Isn't using find with retro awkward?

jam gr0v3er+d at gmail.com
Wed Feb 16 15:19:01 PST 2011


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

> On 2/16/11, jam <gr0v3er+d at 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.


More information about the Digitalmars-d-learn mailing list