Proposal for std.path replacement

Nick Sabalausky a at a.a
Sun Mar 6 05:12:31 PST 2011


"Lars T. Kyllingstad" <public at kyllingen.NOSPAMnet> wrote in message 
news:ikvsq5$1qr9$2 at digitalmars.com...
> On Sun, 06 Mar 2011 09:37:15 +0100, Rainer Schuetze wrote:
>
>> Looks good overall. I have a few comments and nitpicks though:
>>
>>  >   basename("dir/subdir/")             -->  "subdir"
>>  >   directory("dir/subdir/")      -->  "dir"
>>
>> Is this what everybody expects? I'm not sure, but another possibility
>> would be to treat these as if "dir/subdir/." is passed.
>
> I don't know about everybody, but it is what *NIX users expect, at
> least.  I have written those functions so they adhere to the POSIX
> requirements for the 'basename' and 'dirname' commands.
>

I initially felt somewhat uncomfortable with the idea of that behavior, but 
then I realized two things:

1. You don't have to constantly worry about "trailing slash" vs "no trailing 
slash" and remember the different semantics. (The "trailing slash" vs "no 
trailing slash" matter can be a real pain.)

2. It'll always treat a path to a directory the same way as a path to a 
file. (Consistency is nice. Especially since you don't always know if 
something is intended to be a file or directory.)





More information about the Digitalmars-d mailing list