[Rd] quote() vs quote(expr=)
peter dalgaard
pdalgd at gmail.com
Mon Feb 18 16:53:50 CET 2013
On Feb 18, 2013, at 16:20 , Hadley Wickham wrote:
> Hi all,
>
> I think there's a small buglet in quote:
>
> str(quote())
> # Error in quote() : 0 arguments passed to 'quote' which requires 1
> str(quote(expr = ))
> # symbol
>
If there is a bug here, I'd say that it is in str(), revealing the implementation of the missing value as the symbol ``, which we otherwise try not to disclose to R code, e.g.
> as.symbol("")
Error in as.symbol("") : attempt to use zero-length variable name
There's a difference between passing 0 arguments and passing a missing argument and I see nothing particularly wrong with quote(expr=) returning missing. It is, for instance, reasonably consistent that
> eval(quote(expr=))
Error in eval(expr, envir, enclos) : argument is missing, with no default
> I bring this up because this seems like the most natural way of
> capturing the "missing" symbol with pure R code, compared to
> substitute() or bquote() or formals(plot)$x
Are you sure you want to do that? I tend to think that it belongs in the "if it breaks, you get to keep both pieces" category.
--
Peter Dalgaard, Professor
Center for Statistics, Copenhagen Business School
Solbjerg Plads 3, 2000 Frederiksberg, Denmark
Phone: (+45)38153501
Email: pd.mes at cbs.dk Priv: PDalgd at gmail.com
More information about the R-devel
mailing list