
on Thu May 22 2008, "Johan Nilsson" <r.johan.nilsson-AT-gmail.com> wrote:
Vladimir Prus wrote:
Frank Mori Hess wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
[snip]
Unless you want 'leaf' to be named 'basename'. See, we already have 'basename', which unfortunately does something different.
[sorry for jumping in]
I personally have no problems with leaf, but just for comparison, the following is from Ruby (note that extension can be conditionally removed):
ri File.basename --------------------------------------------------------- File::basename File.basename(file_name [, suffix] ) -> base_name
Returns the last component of the filename given in _file_name_, which must be formed using forward slashes (``+/+'') regardless of the separator used on the local file system. If _suffix_ is given and present at the end of _file_name_, it is removed.
File.basename("/home/gumby/work/ruby.rb") #=> "ruby.rb" File.basename("/home/gumby/work/ruby.rb", ".rb") #=> "ruby"
Which exactly mirrors the posix command-line function. On every POSIX system $ basename foo/bar/baz.x baz.x $ basename foo/bar/baz.x .cpp baz.x $ basename foo/bar/baz.x .x baz -- Dave Abrahams BoostPro Computing http://www.boostpro.com