Hi, This works > setGeneric("clear", function(obj) standardGeneric("clear")) [1] "clear" but this doesn't. Why?
> funName <- "clear" > setGeneric(funName, function(obj) standardGeneric(funName)) Error in .recursiveCallTest(body, fname) : (converted from warning) The body of the generic function for "clear" calls standardGeneric to dispatch on a different name ("funName")! This is R-1.8.1 on RH-7.3 I came across it while trying to write a helper function that would "safely" create generics when a function with such a name already exists. Here is what I adapted from S4Objects but it doesn't work becuase of the above-mentioned problem. Any suggestion how to make it work, please? setMakeGenericMethod <- function(methodName, className, fun) { # sets a method and creates the generics if neccessary if (!isGeneric(methodName)) { if (is.function(methodName)) { fun.default <- get(methodName) } else { fun.default <- function(object) standardGeneric(methodName) } } setGeneric(methodName, fun.default) setMethod(methodName, className, fun) } Thanks, Vadim ______________________________________________ [EMAIL PROTECTED] mailing list https://www.stat.math.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html