Являются ли первичные ключи устаревшими?

Другой способ (или стиль) - сохранить все глобальные переменные в специальной среде:

with( globals <- new.env(), {
  # here define all "global variables"  
  sUm <- 10
  mEan <- 5
})

# or add a variable by using $
globals$another_one <- 42

Тогда функция не сможет их получить:

sum <- function(x,y){
  sum = x+y
  return(sUm)
}

sum(1,2)
# Error in sum(1, 2) : object 'sUm' not found

Но вы всегда можете использовать их с глобалями $:

globals$sUm
[1] 10

Чтобы управлять дисциплиной, вы можете проверить, есть ли какая-либо глобальная переменная (кроме функций) вне globals:

setdiff(ls(), union(lsf.str(), "globals")))
13
задан nvogel 1 March 2012 в 13:41
поделиться