diff options
| author | Joel Martin <github@martintribe.org> | 2014-11-03 20:02:09 -0600 |
|---|---|---|
| committer | Joel Martin <github@martintribe.org> | 2015-01-09 16:16:43 -0600 |
| commit | c30efef469e22c8ba345a72c058c28362e57b746 (patch) | |
| tree | e2b9a4252c7771dd8f4554c4b248d370b66e0ae3 /r/env.r | |
| parent | 01feedfe22a381c6b6ca79bdf0db798aa08c4104 (diff) | |
| download | mal-c30efef469e22c8ba345a72c058c28362e57b746.tar.gz mal-c30efef469e22c8ba345a72c058c28362e57b746.zip | |
R: add step6_file and step7_quote
Change symbols to be special class.
Diffstat (limited to 'r/env.r')
| -rw-r--r-- | r/env.r | 7 |
1 files changed, 2 insertions, 5 deletions
@@ -7,9 +7,9 @@ new.Env <- function(outer=emptyenv(), binds=list(), exprs=list()) { if (length(binds) > 0) { for(i in seq(length(binds))) { - b <- as.character(binds[[i]]) + b <- binds[[i]] if (b == "&") { - e[[as.character(binds[[i+1]])]] <- + e[[binds[[i+1]]]] <- slice(exprs, i, length(exprs)) break } else { @@ -21,7 +21,6 @@ new.Env <- function(outer=emptyenv(), binds=list(), exprs=list()) { } Env.find <- function(e, key) { - key <- as.character(key) if (exists(key, envir=e, inherits=FALSE)) { e } else if (!identical(parent.env(e), emptyenv())) { @@ -32,13 +31,11 @@ Env.find <- function(e, key) { } Env.set <- function(e, key, val) { - key <- as.character(key) e[[key]] <- val invisible(val) } Env.get <- function(e, key) { - key <- as.character(key) e <- Env.find(e, key) if (.nil_q(e)) throw(concat("'", key, "' not found")) e[[key]] |
