If you are willing to write fu2[Var] <- 3 instead of fu2(Var) <- 3 then this workaround may suffice:
fu2 <- structure(NA, class = "fu2") "[<-.fu2" <- function(x, ..., value) { print(match.call()[[3]]); fu2 } # test fu2[Var] <- 3 # prints "Var" On 7/27/06, Heinz Tuechler <[EMAIL PROTECTED]> wrote: > Dear All! > > If I pass an object to an assignment function I cannot get it's name by > deparse(substitute(argument)), but I get *tmp* and I found no way to get > the original name, in the example below it should be "va1". > Is there a way? > > Thanks, > > Heinz > > ## example > 'fu1<-' <- function(var, value) { > print(c(name.of.var=deparse(substitute(var))))} > fu1(va1) <- 3 > > name.of.var > "*tmp*" > > ## desired result: > ## name.of.var > ## "va1" > > > > version > _ > platform i386-pc-mingw32 > arch i386 > os mingw32 > system i386, mingw32 > status Patched > major 2 > minor 3.1 > year 2006 > month 07 > day 23 > svn rev 38687 > language R > version.string Version 2.3.1 Patched (2006-07-23 r38687) > > ______________________________________________ > 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. > ______________________________________________ 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.