On Wednesday, 11 June 2014 at 21:18:29 UTC, monarch_dodra wrote:
I think it's because it "returns" both the munched data, and
the modified string:
string s = "123abc";
string t = munch(s, "0123456789");
assert(t == "123" && s == "abc");
But it would indeed be more natural to simply return the
updated "s". It's what things like "find" or "stripLeft" do
anyways, and that works fine.
Right. The problem I ran into was that because munch takes a
reference, I can't chain it with other functions in std.string
because they all return rvalues. So it makes for some
unnecessarily awkward code.