I have moved this discussion to r-devel.

The example of the poster suggests that the functionality as implemented
so far in the upcoming 2.4.0 is at this point not correct and needs to
be fixed prior to release.

It violates the idea in R that if one modifies a list in a function then a copy
of that list gets created (at least conceptually) for use within a function
(rather than the original list being modified) and effectively turns what would
have been a local variable into an error-prone global variable.


On 6/26/06, Prof Brian Ripley <[EMAIL PROTECTED]> wrote:
> Please do study the posting guide, as there is no `R 2.4.0'.
>
> This seems to be related to the NEWS item
>
>     o  [[ on a list does not duplicate the extracted element unless
>        necessary.  (It did not duplicate in other cases, e.g. a
>        pairlist.)
>
> Now in so far as I can follow it, in your example [[ behaves in the same
> way as $ always did (which is what informed people would expect).
>
> R-help is not the place to discuss unreleased versions of R, nor for
> questions about code development.  (Did I mention studying the posting
> guide?)
>
>
> On Fri, 23 Jun 2006, Thomas Petzoldt wrote:
>
> > Sorry,
> >
> > the posted example had the side effect on all platforms (correctly: R
> > 2.2.1/Windows, 2.3.1/Linux, 2.4.0/Windows), but in the following
> > corrected example the behavior of 2.4.0 differs from the older versions.
> >
> > The only difference between the "wrong" and the "new" example is
> > L[["test"]] vs. L$test in the assign.
> >
> > Thomas P.
> >
> >
> > envfun <- function(L) {
> > #  L <- as.list(unlist(L))
> >  p <- parent.frame()
> >  assign("test", L[["test"]], p) ## [["test"]] instead of $test
> >  environment(p[["test"]]) <- p
> > }
> >
> >
> > solver <- function(L) {
> >  envfun(L)
> >  # some other stuff
> > }
> >
> > L <- list(test = function() 1 + 2)
> >
> > e1 <- environment(L$test)
> > solver(L)
> > e2 <- environment(L$test)
> >
> > print(e1)
> > print(e2)
> >
> > ______________________________________________
> > R-help@stat.math.ethz.ch mailing list
> > https://stat.ethz.ch/mailman/listinfo/r-help
> > PLEASE do read the posting guide! 
> > http://www.R-project.org/posting-guide.html
> >
>
> --
> Brian D. Ripley,                  [EMAIL PROTECTED]
> Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
> University of Oxford,             Tel:  +44 1865 272861 (self)
> 1 South Parks Road,                     +44 1865 272866 (PA)
> Oxford OX1 3TG, UK                Fax:  +44 1865 272595
>
> ______________________________________________
> R-help@stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
>

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to