Сквозные параметры (in-out)

Функции

swap_values <- function(e1, e2) {
  old_value <- e1$value
  e1$value <- e2$value
  e2$value <- old_value
}

# A vector or list would be copied,
# an environment is changed in place
s1 <- list2env(list(value = "A"))
s2 <- list2env(list(value = "B"))
swap_values(s1, s2)
# s1$value = B
# s2$value = A

cat("s1$value =", s1$value, "\n")
cat("s2$value =", s2$value, "\n")