On Friday, April 08, 2016 18:27:59 Laeeth Isharc via Digitalmars-d-learn wrote: > suppose I have a forward or random access range. what's the best > way to compare each element with the element 4 elements prior to > that element? I could map each element to a tuple of the element > and the element 4 bars previously and do it that way. any neater > way ?
Well, if you have a random access range, you can just use indices and loop over, making it so that one is getting i - 4 and the other is getting i for its element. Or if you don't have random access, you could just pop 4 elements off the front of one and then use equal to compare the ranges (and of course compare copies gotten via save if you don't want to actually consume those elements). e.g. something like auto result = range1.save.drop(4).equal(range2.save); Though of course, the lengths of the ranges have to match up appropriately for that. Slicing and then comparing with equal might be a good choice too. But without having more specifics on what exactly you're doing, it's kind of hard to give a much better suggestion. - Jonathan M Davis
