[Rd] Retrieving an unevaluated argument
Liaw, Andy
andy_liaw at merck.com
Wed Feb 1 23:10:46 CET 2006
Why isn't substitute(x, parent.frame()) enough? parse(deparse()) seems
redundant...
Andy
From: hadley wickham
>
> I'm trying to retrieve an unevalated argument (a list in particular).
> I can do this easily when I call the function directly:
>
> a1 <- function(x) match.call()$x
>
> > a1(list(y=x^2))
> list(y = x^2)
>
> But when the function is called by another function, it gets trickier
>
> b <- function(x, f) f(x)
>
> > b(list(x^2), a1)
> x
>
> The best I've been able to do is:
>
> a2 <- function(x) parse(text=deparse(substitute(x,
> parent.frame())))[[1]]
>
> > b(list(x^2), a2)
> list(x^2)
>
> But I'm sure there must be a better way!
>
> Hadley
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>
>
More information about the R-devel
mailing list