On Sat, Apr 9, 2011 at 3:27 PM, Barry Rowlingson <b.rowling...@lancaster.ac.uk> wrote: > On Sat, Apr 9, 2011 at 6:29 PM, Benjamin Tyner <bty...@gmail.com> wrote: > >>> The above feels a bit like snooping where I wasn't invited. >>> You could do something like >>> mq <- function(a) { >>> force(a) >>> list(getA = function()a, >>> setA = function(newA) a <<- newA, >>> fun = function(x)x^a >>> ) >>> } >>> to make it clear that you expect people to look at or change >>> fun's 'a'. > > Once you start doing a lot of that though you may as well go the > whole OO hog and use the proto or R.oo packages... > > Barry >
In the case of proto it would be this: library(proto) mq <- proto(fun = function(., x) x^.$a) mq$a <- 2 mq$a # 2 mq$fun(3) # 9 or you could make explicit getter and setter functions though, as seen, they are not really needed: mq <- proto(fun = function(., x) x^.$a, getA = function(.) .$a, setA = function(., a) .$a <- a) mq$setA(3) mq$getA() # 3 mq$fun(4) # 64 -- Statistics & Software Consulting GKX Group, GKX Associates Inc. tel: 1-877-GKX-GROUP email: ggrothendieck at gmail.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.