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); AndreiYeah. 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
