splitter for strings
monarch_dodra via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Mon Jun 9 11:09:05 PDT 2014
On Monday, 9 June 2014 at 17:57:24 UTC, Steven Schveighoffer
wrote:
> I think we are confusing things here, I was talking about strip
> :)
strip and split are actually both pretty much in the same boat
actually in regards to that, so just 's/split/strip/g', and the
same answer will apply.
"split" (and "splitter") actually have it a bit more complicated,
because historically, if you imported both string and algorithm,
then "split(myString)" will create an ambiguous call. The issue
is that you can't do selective imports when you already have a
local object with the same name, so algorithm had:
----
auto split(String)(String myString) {
return std.string.split(myString);
}
----
rather than
----
public import std.string : split;
----
I tried to "fix" the issue by removing "split(String)" from
algorithm, but that created some breakage.
So Andrei just came down and put *everything* in algorithm, and
added an "public import std.algorithm : split" in std.string.
This works, but it does mean that:
1. string unconditionally pulls algorithm.
2. You can do things like:
std.string.split([1, 2, 3], 2);
IMO, the "strip" solution is better :/
> If we could split up std.algorithm into individual modules,
> that would probably help.
>
> -Steve
Yes.
More information about the Digitalmars-d-learn
mailing list