[Rd] List's `[[` method with "" tag

Trevor Davis trevor@|@d@v|@ @end|ng |rom gm@||@com
Mon Sep 11 18:29:26 CEST 2023


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]]



More information about the R-devel mailing list