On Wednesday, 11 June 2014 at 11:42:42 UTC, Artur Skawina via Digitalmars-d-learn wrote:
On 06/11/14 00:31, "Nordlöw" via Digitalmars-d-learn wrote:
Either way, it shouldn't be too hard to implement. Base it off "splitter!pred", which is actually quite trivial. AFAIK, your

What do you mean by basing it off splitter!pred - should I start with some existing splitter algorithm in Phobos or start from scratch?

Starting from scratch is actually not a bad idea, at least for this kind of trivial functionality. A working version can be written in less time
than copying, analyzing and modifying another implementation...

...

artur

I don't know about "starting from scratch" entirely. Maybe not copy paste, but it always helps to have a reference implementation.

For example, you should avoid "countUntil" and "takeExactly" when dealing with strings, since these are not O(1) operations, and don't actually return string slices. EG:
string s = "someGGGreatVariableName".slicer().front;
Error: cannot implicitly convert expression (slicer("someGGGreatVariableName").front()) of type Result to string

That's why the splitter code uses the more verbose "r.length - r.find!pred".

Reply via email to