From murdoch at stats.uwo.ca  Sat Sep 30 15:09:12 2006
From: murdoch at stats.uwo.ca (murdoch at stats.uwo.ca)
Date: Sat, 30 Sep 2006 15:09:12 +0200 (CEST)
Subject: [Rd] Strange behaviour of the [[ operator (PR#9263)
Message-ID: <20060930130912.AB4E920786@slim.kubism.ku.dk>

On 9/29/2006 9:06 PM, Herve Pages wrote:
> Hi,
> 
> This looks like a bug:
> 
>     > a <- list(b=5)
>     > a[['b']]
>     [1] 5
>     > a[[t<-'b']]
> 
> Nothing gets printed!
> 
> I need to use parenthesis to see the expected result:
> 
>     > a[[(t<-'b')]]
>     [1] 5

Yes, I agree it looks like a bug, and it's still there in R-devel.  The 
problem is that the assignment sets the R_Visible flag to false, and the 
indexing never sets it to true.  The same problem happens with a[t <- 
'b'], whether a is a list or not:

 > a <- c(b=5, c=6, d=7)
 > a[t <- 'b']
 > .Last.value
b
5

Duncan Murdoch




[Rd] Strange behaviour of the [[ operator (PR#9263)
murdoch at stats.uwo.ca