You can do it with environments. The first line sets up fooStack with a list of environments instead of a list of lists and the remaining lines are the same as in your post squished to one line each to make it easier to see the entire code at once:
fooStack <- lapply(1:5, new.env) fooModifier <- function( foo ) foo$bar <- "bar" fooModifier( fooStack[[ 1 ]] ) fooStack[[1]]$bar # "bar" You may need to be a bit careful if you pursue this line of reasoning as there is a long standing bug in R relating to lists of promises so take care that you don't get promises in the list. See point #2 in: https://stat.ethz.ch/pipermail/r-devel/2008-January/047914.html Also you might want to look at the proto package which reframes the use of environments in terms of object oriented programming. http://r-proto.googlecode.com On Jan 3, 2008 4:35 PM, Peter Waltman <[EMAIL PROTECTED]> wrote: > > specifically, imagine we have: > > fooStack <- list() > for ( i in 1:5 ) > fooStack[[i]] <- list() > > and we have a function: > > fooModifier <- function( foo ) { > > foo$bar <- "bar" > > } > > then, if we invoke fooModifier, i.e.: > > fooModifier( fooStack[[ 1 ]] ) > > the $bar elt is only set in the scope of the function, and if we use the > "<<-" modifier in fooModifier, R will throw an error b/c it can't find the > "foo" object. I have to say that for someone coming from languages that > have pointers and/or references, it's really frustrating that R fails to > allow one to have direct access to the objects' memory space. > Onyway, one workaround would be to pass in the whole fooStack object and the > index of the elt that you want to modify to the fooModifier fn, but I'd > rather not have to pass the whole thing in. > Any suggestions? > Thanks! > Peter Waltman > ______________________________________________ > 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. > ______________________________________________ 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.