1library("listenv")
2
3ovars <- ls(envir = globalenv())
4oopts <- options(warn = 1)
5
6
7## - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
8## Single-element assignments and subsetting
9## - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
10x <- list(a = 1, b = 2, c = 3)
11str(x)
12y <- as.listenv(x)
13print(y)
14stopifnot(identical(as.list(y), x))
15z <- as.listenv(y)
16stopifnot(identical(as.list(y), as.list(z)))
17
18e <- new.env()
19e$a <- 1
20e$b <- 2
21e$c <- 3
22y <- as.listenv(e)
23print(y)
24stopifnot(identical(as.list(y), as.list(e)))
25
26x <- c(a = 1, b = 2, c = 3)
27y <- as.listenv(x)
28print(y)
29stopifnot(identical(as.list(y), as.list(x)))
30
31## Cleanup
32options(oopts)
33rm(list = setdiff(ls(envir = globalenv()), ovars), envir = globalenv())
34