Hin-Tak Leung wrote: > cstrato wrote: >> 1. I did read the help file. >> 2. I have my own workaround, using e.g. >> file.info("/my/path/")[,"isdir"] >> 3. This was a suggestion. >> 4. If you agree with me that "/my/path/" is a path, then both >> "dirname()" and "dirname" give an incorrect answer. >> 5. Maybe, you can give me a logical reason (besides a >> historical reason) why this should be the way it is. > > Can you just read "man 3 dirname" and "man 1 dirname" on any unix box? > Isn't "historical reason" - this is how dirname works for the last > 25(?) years, some people will be *very* upset if it behaves > differently now - > a good enough reason? > > HTL A 25 year old mistake is no reason for R to duplicate this mistake. > >> Prof Brian Ripley wrote: >>> These functions work as they should: did you not read the help page >>> which explicitly tells you what happens in this case? >>> >>> The Unix originals work in the same way: >>> >>> gannet% dirname /my/path/ >>> /my >>> >>> Please DO study the R posting guide and do the homework requesting >>> of you before posting. >>> >>> On Mon, 26 Mar 2007, cstrato wrote: >>> >>>> Dear all, >>>> >>>> I have already twice encountered a case which I consider a >>>> limitation of >>>> dirname() and basename(). >>>> >>>> In my functions I have a parameter "outfile" which e.g. tells where >>>> a file >>>> should be stored. Usually "outfile" is of the form: >>>> oufile = "/my/path/myname.txt" >>>> >>>>> outfile <- "/my/path/myname.txt" >>>>> dirname(outfile) >>>> [1] "/my/path" >>>>> basename(outfile) >>>> [1] "myname.txt" >>>> >>>> However, in addition I want to be able to define the path only, while >>>> creating the name "myname.txt" automatically. >>>> Sorrowly, I get the following: >>>> >>>>> outfile <- "/my/path/" >>>>> dirname(outfile) >>>> [1] "/my" >>>>> basename(outfile) >>>> [1] "path" >>>> >>>> It would be great if dirname() and basename() could recognize: >>>> dirname("/my/path/") = /my/path/ >>>> basename(""/my/path/") = "" >>>> i.e. they should be able to recognize a trailing "/". >>> Not according to the documentation. >>> >>>> Best regards >>>> Christian >>>> _._._._._._._._._._._._._._._._ >>>> C.h.i.s.t.i.a.n S.t.r.a.t.o.w.a >>>> V.i.e.n.n.a A.u.s.t.r.i.a >>>> _._._._._._._._._._._._._._._._ >> >> ______________________________________________ >> R-devel@r-project.org mailing list >> https://stat.ethz.ch/mailman/listinfo/r-devel > > >
______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel