diff --git a/R/class_lookup.R b/R/class_lookup.R index 663203b00..42ebd187a 100644 --- a/R/class_lookup.R +++ b/R/class_lookup.R @@ -23,14 +23,20 @@ lookup_count <- function(lookup) { } lookup_set <- function(lookup, names, object) { - for (name in names) { - lookup[[name]] <- object + index <- 1L + n <- length(names) + while (index <= n) { + lookup[[.subset(names, index)]] <- object + index <- index + 1L } } lookup_unset <- function(lookup, names) { - for (name in names) { - lookup[[name]] <- NULL + index <- 1L + n <- length(names) + while (index <= n) { + lookup[[.subset(names, index)]] <- NULL + index <- index + 1L } }