Nothing
source("incl/start.R")
message("*** globalsOf() w/ local() ...")
for (locals in c(TRUE, FALSE)) {
message(sprintf("- locals=%s", locals))
f <- local({
a <- 42
function() a
})
globals <- globalsOf(quote(f), locals = locals)
str(globals)
where <- attr(globals, "where")
if (locals) {
stopifnot(
length(globals) == 2L,
identical(sort(names(globals)), c("a", "f")),
identical(where[["a"]], environment(globals[["f"]]))
)
} else {
stopifnot(
length(globals) == 1L,
identical(names(globals), "f")
)
}
message(sprintf("- locals=%s with nested local():s", locals))
f <- local({
b <- 3.14
local({
a <- 42
function() a + b
})
})
globals <- globalsOf(quote(f), locals = locals)
globals <- cleanup(globals)
str(globals)
where <- attr(globals, "where")
if (locals) {
stopifnot(
length(globals) == 3L,
identical(sort(names(globals)), c("a", "b", "f")),
identical(where[["a"]], environment(globals[["f"]])),
identical(where[["b"]], parent.env(environment(globals[["f"]])))
)
} else {
stopifnot(
length(globals) == 1L,
identical(names(globals), "f")
)
}
} # for (locals ...)
message("*** globalsOf() w/ local() ... DONE")
source("incl/end.R")
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.