Howdy all, I have a problem that I'd like some advice/help in solving---it has to do with R's pass-by-value system. I understand the issue, but am wondering if anyone has found a working solution in dealing with it for cases when one wants to modify an object inside of a method, specifically when working with S4. I'm aware that R.oo is able to deal with this using S3, but I'd really rather stick to S4.
The basics of what I would like to do are coded below: setClass("MyMatrix", representation( parameters="matrix", uniqueCount="numeric" ), prototype( parameters=matrix(numeric(0),0,0), uniqueCount=1 ) ) setGeneric("createUniqueName", function(object) standardGeneric("createUniqueName")) setMethod("createUniqueName", "MyMatrix", function(object){ retval <- paste("unique_", [EMAIL PROTECTED], sep="") [EMAIL PROTECTED] <- [EMAIL PROTECTED] + 1 return(retval) }) x <- new("MyMatrix", parameters=matrix(0, 2, 2)) createUniqueName(x) # returns "unique_1" x # [EMAIL PROTECTED] is still 1 I understand why this is happening, but am wondering how people in the community have dealt with it, specifically when using S4. Any advice would be appreciated. Also, I am aware that this is somewhat of a silly example, but it should allow you to see what I'm trying to accomplish. Thank you, Jeff. -- View this message in context: http://www.nabble.com/S4-pass-by-value-work-around--tp17997553p17997553.html Sent from the R help mailing list archive at Nabble.com. ______________________________________________ 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.