deparse(substitute(fnc)) will get you part way there. myFunc <- function(x) x + 1 applyFunc <- function(fnc, x) { cat("fnc is", deparse(substitute(fnc)), "\n") fnc <- match.fun(fnc) fnc(x) }
> applyFunc(myFunc, 1:3) fnc is myFunc [1] 2 3 4 > applyFunc(function(x)x*10, 1:3) fnc is function(x) x * 10 [1] 10 20 30 > applyFunc("myFunc", 1:3) fnc is "myFunc" [1] 2 3 4 I like to let the user override what substitute might say by making a new argument out of it: > applyFunc(function(x)x*10, 1:3) fnc is function(x) x * 10 [1] 10 20 30 > applyFunc(function(x)x*10, 1:3, fncString="Times 10") fnc is Times 10 [1] 10 20 30 This makes is easier to call your function from another one - you can pass the fncString down through a chain of calls. 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 Peter Langfelder > Sent: Wednesday, August 29, 2012 4:00 PM > To: r-help > Subject: Re: [R] Extracting the name of a function (inverse of > match.fun("myFun")) > > On Wed, Aug 29, 2012 at 3:36 PM, Peter Langfelder > <peter.langfel...@gmail.com> wrote: > > Hi all, > > > > is there a way to extract the name of a function, i.e. do the reverse > > of match.fun applied to a character string? I would like to print out > > the name of a function supplied to another function as an argument. > > > > For example: > > > > myFunc = function(x) { x+1 } > > > > applyFunc = function(fnc, x) > > { > > fnc = match.fun(fnc) > > fnc(x) > > } > > > > Is there a way to obtain "myFunc" from the argument fnc in applyFnc > > the following call is issued? > > > > applyFnc(myFunc, 1) > > ...or am I missing the basic fact that since arguments to functions in > R are passed by copy, the name is lost/meaningless? > > Thanks, > > Peter > > ______________________________________________ > 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.