Hi,

I would like to get the actual object name passed as a parameter of a
function and am using deparse(substitute(x)) to do that. It doesn't work
when it is used along with the foreach package. Appreciate if any one can
give some suggestions on how to make it work with foreach.

FUN.aaa <- function() {
}

ff =  function( FUN){
        foreach(i = 1:3) %dopar% {
                print(sprintf("deparse(substitute(FUN)) = %s", 
deparse(substitute(FUN))))
                return(NULL)
        }
}

ff(FUN.aaa)

# will print
ff(FUN.aaa)
[1] "deparse(substitute(FUN)) = FUN"
[1] "deparse(substitute(FUN)) = FUN"
[1] "deparse(substitute(FUN)) = FUN"
[[1]]
NULL

[[2]]
NULL

[[3]]
NULL


If there is no foreach, it works

FUN.aaa <- function() {
}

ff =  function( FUN){
                print(sprintf("deparse(substitute(FUN)) = %s", 
deparse(substitute(FUN))))
        }
}

ff(FUN.aaa)

#It works and prints
> ff(FUN.aaa)
ff(FUN.aaa)
[1] "deparse(substitute(FUN)) = FUN.aaa"
thanks

Jeff

______________________________________________
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