Fungsi-fungsi ini mewakili antarmuka untuk penyesuaian terhadap lingkungan dan pengikatan dalam lingkungan. Mereka memungkinkan untuk mengunci lingkungan serta pengikatan individu, dan untuk menghubungkan variabel ke suatu fungsi.
lockEnvironment(env, bindings = FALSE)
environmentIsLocked(env)
lockBinding(sym, env)
unlockBinding(sym, env)
bindingIsLocked(sym, env)<p></p><p>makeActiveBinding(sym, fun, env)
bindingIsActive(sym, env)</p>
| Parameter | Deskripsi |
|---|---|
env |
an environment. |
bindings |
logical specifying whether bindings should be locked. |
sym |
a name object or character string. |
fun |
a function taking zero or one arguments. |
# NOT RUN {
# locking environments
e <- new.env()
assign("x", 1, envir = e)
get("x", envir = e)
lockEnvironment(e)
get("x", envir = e)
assign("x", 2, envir = e)
try(assign("y", 2, envir = e)) # error
# locking bindings
e <- new.env()
assign("x", 1, envir = e)
get("x", envir = e)
lockBinding("x", e)
try(assign("x", 2, envir = e)) # error
unlockBinding("x", e)
assign("x", 2, envir = e)
get("x", envir = e)
# active bindings
f <- local( {
x <- 1
function(v) {
if (missing(v))
cat("get\n")
else {
cat("set\n")
x <<- v
}
x
}
})
makeActiveBinding("fred", f, .GlobalEnv)
bindingIsActive("fred", .GlobalEnv)
fred
fred <- 2
fred
# }