You can put print statements into the arguments given to a function to more 
directly
see when they get evaluated.  E.g., 

> z <- f0(c={ cat("Evaluating 'c' argument\n"); "p"}, nm="norm", mean={ 
> cat("Evaluating 'mean' argument\n"); 1.2 })
Evaluating 'c' argument
> z(1:5)
Evaluating 'mean' argument
[1] 0.4207403 0.7881446 0.9640697 0.9974449 0.9999277
>
> z <- f1(c={ cat("Evaluating 'c' argument\n"); "p"}, nm="norm", mean={ 
> cat("Evaluating 'mean' argument\n"); 1.2 })
Evaluating 'c' argument
Evaluating 'mean' argument
> z(1:5)
[1] 0.4207403 0.7881446 0.9640697 0.9974449 0.9999277
> pnorm(1:5, mean=1.2)
[1] 0.4207403 0.7881446 0.9640697 0.9974449 0.9999277

where f0 does not call force(list(...)) and f1 does.

Bill Dunlap
Spotfire, TIBCO Software
wdunlap tibco.com


> -----Original Message-----
> From: r-help-boun...@r-project.org [mailto:r-help-boun...@r-project.org] On 
> Behalf
> Of Julio Sergio
> Sent: Wednesday, June 05, 2013 2:11 PM
> To: r-h...@stat.math.ethz.ch
> Subject: Re: [R] Trying to build up functions with its names by means of 
> lapply
> 
> William Dunlap <wdunlap <at> tibco.com> writes:
> 
> > f1 <- function (c, nm = "gamma", ...)
> > {
> >     probFunc <- getFunction(paste0(c, nm))
> >     force(list(...))
> >     function(x) probFunc(x, ...)
> > }
> >
> > Bill Dunlap
> > Spotfire, TIBCO Software
> > wdunlap tibco.com
> >
> 
> Thanks a lot William!, this really enhances my knowledge of the language.
> 
>  -Sergio.
> 
> ______________________________________________
> R-help@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to