Date: 2008-05-29 17:14:13
(I didn't check that this is 100% compatible with the current API.)
this/is/stuff/last.my.name = path
this/is/stuff = path.dirname()
last.my.name = path.basename()
last.my = path.basename(".name")
.name = path.suffix()
this/is/stuff/ = path
this/is = path.dirname()
stuff/ = path.basename()
/ = path.suffix()
From Perl's File::Basename,
It is guaranteed that
# Where $path_separator is / for Unix, \ for Windows, etc...
dirname($path) . $path_separator . basename($path);
is equivalent to the original path for all systems but VMS.
On Thu, 29 May 2008, Johan Råde wrote:
> Beman Dawes wrote:
>> Beman Dawes wrote:
>> That leaves leaf(). tail() is arguably slightly better, but not by a
>> lot. Other possibilities:
>> leaf() // cryptic
>> tail() // slightly better
>> right() // cryptic
>> rightmost() // better
>> rightmost_name() // very explicit, but longish
> In functional programming you often build a list by appending
> one element at a time. The word head is then used to refer to
> the last added element, and tail to the rest of the list.
> This suggests that the leaf is the head, not the tail.
> Since different people have different intuition about
> what is the head and what is the tail, I think the terms
> head and tail should not be used in this context.
> Here are two other possible alternatives to leaf:
> Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk