Load or reload a module which is defined in an R, R Markdown or R Sweave file stored on disk.
load_module(name = .Last.name)
name | A string (character vector of lenght one). A module name can contain letters, figures and some special characters,
namely Names containing The name "modulr" corresponds to a special module and is therefore reserved. |
---|
The absolute file name of the loaded module.
As described in define
under Implicit Definition, the
module name is resolved into a file location by applying the rules accessed
by root_config
, paths_config
, and
maps_config
. R Markdown and R Sweave files are accordingly
tangled into R code, which is in turn evaluated.
It is considered a very bad practice to define, touch, undefine, load, make, reset, or perform any other operation from within a module definition that may alterate the internal state of modulr.
.Last.name
, make
,
maps_config
, paths_config
, and
reset
.
reset()#> [2017-06-21T21:58:26 UTC] Resetting modulr state ... OKtmp_dir <- tempfile("modulr_") dir.create(tmp_dir) tmp_file <- file.path(tmp_dir, "foo.R") cat('define("foo", NULL, function() "Hello World!")', file = tmp_file) root_config$set(tmp_dir) load_module("foo")#> [2017-06-21T21:58:26 UTC] Defining 'foo' ... OK#> foo #> "/tmp/Rtmp4WPoWj/modulr_19503f1a1fe1/foo.R"make()#> [2017-06-21T21:58:26 UTC] Making 'foo' ... #> [2017-06-21T21:58:26 UTC] * Visiting and defining dependencies ... #> [2017-06-21T21:58:26 UTC] * Constructing dependency graph ... OK #> [2017-06-21T21:58:26 UTC] DONE ('foo' in 0.029 secs)#> [1] "Hello World!"unlink(tmp_dir, recursive = TRUE) load_module("foo")#> foo #> NA