Jesse Phillips wrote: > Jonathan M Davis wrote: > >> Hmm. I'd thought that I'd looked at that one and determined that it >> didn't do what I was looking for, but on another inspection of it, it >> does look like until() will do the job. It has the potential downside >> that unlike find, it cannot take multiple ranges to be found, but in my >> case (and probably most cases), that's not an issue. Thanks. Maybe this >> is what I get for coding late at night... > > > You should be able to use std.range.chain to combine your ranges.
I don't think that that would work. As I understand it, with find, when you give it call it with more than two values e.g. find(haystack, needle1, needle2, needle3) instead of find(haystack, needle) it looks for all of those values and returns when it finds one of them. All combining ranges would do for until would make a longer thing to find. In essence, you'd be doing find(haystack, needle1 ~ needle2 ~ needle3) only with until. Finding all of the values concatenated together is not the same thing as looking for the first occurrence of one of those values. - Jonathan M Davis