sub() in D2?

Jonathan M Davis jmdavisProg at
Mon Jan 30 23:30:45 PST 2012

On Tuesday, January 31, 2012 08:16:25 Jacob Carlborg wrote:
> On 2012-01-31 00:09, Marco Leise wrote:
> > Am 30.01.2012, 16:57 Uhr, schrieb adamss3 <sadams58 at>:
> >> Thanks.
> > 
> > The only downside of strings being arrays: a lot of typical string
> > functions are in std.array. :D
> If everything in std.array works for strings as well, shouldn't
> std.string publicly import std.array?

You could quickly get into similar arguments with std.range and std.algorithm, 
as well as std.ascii and std.uni. Ultimately, functions are organized into 
modules based on where they make the most sense to ones writing the functions, 
and you import the modules that have what you need. You can't get away from 
having to know what module has what you need unless we get something like 
std.all which publicly imports _everything_.

And the folks who get paranoid about importing symbols that they don't need 
are going to tend to want modules to include _less_ rather than more. So, 
there's that to contend with as well.

No matter how you organize the functions, there will always been problems with 

Ultimately, you just learn where what you need is. And in this case, a string 
is an array, so as long as you understand that, std.array should definitely be 
one of the places that you look for functions when messing with strings, not 
just std.string.

- Jonathan M Davis

More information about the Digitalmars-d-learn mailing list