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