Path as an object in std.path
Andrei Alexandrescu
SeeWebsiteForEmail at erdani.org
Fri Jun 7 11:26:42 PDT 2013
On 6/7/13 2:10 PM, monarch_dodra wrote:
> On Friday, 7 June 2013 at 17:27:16 UTC, Andrei Alexandrescu wrote:
>> On 6/7/13 1:04 PM, monarch_dodra wrote:
>>> I think using string as the main form of representation for a path is
>>> fine.
>>>
>>> However, there are times where it is convenient to be able to explode a
>>> path into a structure, where each part is clearly separate from the
>>> next.
>>
>> Tuple!(
>> string, "drive",
>> string[], "folders",
>> string, "basename",
>> string, "extension"
>> )
>> parsePath(string path);
>>
>> string buildPath(string drive, string[] folders, string basename,
>> string extension);
>>
>>
>> Andrei
>
> Yeah. That's pretty much more or less what I was describing. Except
> "buildPath" would take your (unnamed) tuple type directly.
No, the version I wrote is more flexible. You get to pass separate
arguments to it or just pass a tuple with .expand.
buildPath(parsePath("/bin/sh").expand)
should rebuild "/bin/sh".
> There'd be also be a "filename" member/ufcs function in there for
> convenience.
>
> I think that would be a small, but useful, addition to std.path.
Me 2.
Andrei
More information about the Digitalmars-d
mailing list