Re: [R] Referencing function name from within function

From: Prof Brian Ripley <ripley_at_stats.ox.ac.uk>
Date: Tue 03 Apr 2007 - 12:17:30 GMT

This presumes a function is always called by name. Try

> lapply(1:10, myfunction)

Error in FUN(c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)[[1]], ...) :

         FUN requires xyz!

to see a (simple case of) the problem.

On Tue, 3 Apr 2007, rolf@math.unb.ca wrote:

> I dunno much about such things, but a wee experiment seems to
> indicate that the following structure does what you want:
>
> myfunction <- function(x){
> nm <- as.character(match.call())[1]
> a <- TRUE
> if (a){
> stop(paste(nm,"requires xyz!"))
> }
> }
>
> cheers,
>
> Rolf Turner
> rolf@math.unb.ca
>
> ===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===
> Original message:
>
>> For verbose coding I'd like to do something like:
>>> myfunction <- function(x){
>>> if (a){
>>> stop(paste(myfunction_name_here,"requires xyz!")
>>> }
>> Is that possible?
>
> (Note: In R *all* things are possible!)

I don't believe so.

-- 
Brian D. Ripley,                  ripley@stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595

______________________________________________
R-help@stat.math.ethz.ch 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.
Received on Tue Apr 03 22:41:59 2007

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.1.8, at Tue 03 Apr 2007 - 13:30:43 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.