[prev in list] [next in list] [prev in thread] [next in thread] 

List:       r-devel
Subject:    Re: [Rd] List's `[[` method with "" tag
From:       Sergueï_Sokol_via_R-devel <r-devel () r-project ! org>
Date:       2023-09-11 16:52:51
Message-ID: fdf54c1464d0e0d9a45fae138c050ef1 () 198c5bc6 ! internal
[Download RAW message or body]

It's per design: 

?names
...
The name '""' is special: it is used to
indicate that there is no
name associated with an element of a (atomic
or generic) vector.
Subscripting by '""' will match nothing (not even
elements which
have no name).
... 

Best,
Serguei. 

Le 2023-09-11
18:29, Trevor Davis a écrit :

> Hi,
> 
> I notice that one can assign a
variable to an R list by using an empty
> string key but one cannot get
that variable back from the list by using the
> empty string key:
> 
>
```r
> l <- list()
> l[[""]] <- "An empty string as list key"
>
names(l)
> l[[""]] # Returns a `NULL`
> l[[names(l) == ""]] # Returns
first value with `""` tag
> ```
> 
> Instead of `l[[""]]` returning a
`NULL` I'd "expect" it to instead return
> the first variable named `""`
i.e. in this case "An empty string as list
> key".  It would be nice if
the `[[` method of a list was updated to "fix"
> this.
> 
>
Additionally, I observe that if a list is named but has certain
elements
> without names then those are currently "named" `""`:
> 
>
```r
> names(list(a = 1, 2, c = 3, 4))
> ```
> 
> This latter change may
be a breaking change but I speculate that perhaps it
> may be more
intuitive if missing names were indicated with `NA_character_`
> instead
of `""`.
> 
> Thanks,
> 
> Trevor
> 
> [[alternative HTML version
deleted]]
> 
> ______________________________________________
>
R-devel@r-project.org mailing list
>
https://stat.ethz.ch/mailman/listinfo/r-devel
 
	[[alternative HTML version deleted]]

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic