Proposal for std.path replacement
Lars T. Kyllingstad
public at kyllingen.NOSPAMnet
Mon Mar 7 01:26:46 PST 2011
On Sun, 06 Mar 2011 16:49:59 -0500, Nick Sabalausky wrote:
> "Lars T. Kyllingstad" <public at kyllingen.NOSPAMnet> wrote in message
> news:il09fp$2h5d$1 at digitalmars.com...
>> On Sun, 06 Mar 2011 15:54:19 +0100, spir wrote:
>>>
>>> What about extending the notion of 'device' (see other post) to cover
>>> 'http://' and "ftp://"?
>>> Would it be complicated?
>>
>> I don't think std.path should handle general URIs. It should only have
>> to deal with the kind of paths you can pass to the functions in
>> std.file and std.stdio.
>>
>>
> If std.path doesn't handle uri's, then we'd need a whole other set of
> functions for dealing with uris. And at least a few of the functions
> would overlap. And then people who want to be able to handle both files
> and uris will want functions that will seamlessly handle either. So I
> think it really would be best to just bite the bullet and have std.path
> handle uri's.
I am now certain that std.path should not give URIs any kind of special
treatment, for the simple reason that most URIs are also valid paths on
POSIX. Specifically, file and directory names may contain the ':'
character, and multiple consecutive slashes are treated as a single
slash. In other words, you can do this:
mkdir http:
mkdir http://www.digitalmars.com
cd http://www.digitalmars.com
That means std.path should treat "http:" as just another path component,
and it should treat "//" on equal footing with "/". This is how it's
done now, and it is how it should be.
-Lars
More information about the Digitalmars-d
mailing list