Could do both to preserve bc... if(missing(format) || !nchar(format))
~G On Wed, Aug 20, 2014 at 1:50 PM, Peter Langfelder < peter.langfel...@gmail.com> wrote: > That would be my preferred solution, but it would break backwards > compatibility for format="", so others may disagree. > > Peter > > On Wed, Aug 20, 2014 at 1:18 PM, Duncan Murdoch > <murdoch.dun...@gmail.com> wrote: > > On 20/08/2014, 4:11 PM, Peter Langfelder wrote: > >> The default format="" in as.Date.character is supremely confusing. The > >> help shows as.Date defined as > >> > >> ## S3 method for class 'character' > >> as.Date(x, format = "", ...) > >> > >> yet the function behaves very differently when format is not specified > >> and when it is specified to its default: > >> > >> as.Date("2012-01-01") > >> [1] "2012-01-01" > >>> as.Date("2012-01-01", format = "") > >> [1] "2014-08-20" ### Gives today. > >> > >> > >> The default setting is never used, because if format is not given, > >> values "%Y-%m-%d" and "%Y/%m/%d" are tried for it (rather than ""). > >> > >> My suggestion is to leave out the default "" for format in as.Date: > >> > >> as.Date(x, format, ...) > >> > >> If this causes a conflict in the S3 dispatching, at least indicate in > >> the help that the default is never used and the function works > >> differently if format is specified to its default. > > > > Wouldn't it be simpler to change the test from > > > > if (missing(format)) > > > > to > > > > if (format == "") > > > > ? > > > > Duncan Murdoch > > > > ______________________________________________ > R-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel > -- Gabriel Becker Graduate Student Statistics Department University of California, Davis [[alternative HTML version deleted]] ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel