On 16/12/2007 9:25 AM, [EMAIL PROTECTED] wrote: > Hello the list, > > I am trying to write a "cleanProgramming" function to test the > procedure I use. For example, I want to be sure that I am not using > globals variables. The function "findGlobals" detect that. > > To list the globals used in function "fun", the syntax is : > "findGlobals(fun,FALSE)$variable" > > My problem is that I want to use it in a function, something like : > > cleanProg <- function(name){ > if(length(findGlobals(name,FALSE)$variable>0){ > cat("Warnings: there is globals is function ",name,"\a\n") > } > } > > But findGlobals take a function as first argument, not a variable > containing a function name. > > Anyway to solve that?
Use get() to find an object with a given name. You need to be careful to specify where it should look (the envir argument); typically parent.frame() is appropriate, but your cleanProg function should allow the user to override this. Duncan Murdoch ______________________________________________ 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.