load_module: Load a Module.

View source: R/load.R

load_moduleR Documentation

Load a Module.

Description

Load or reload a module which is defined in an R, R Markdown or R Sweave file stored on disk.

Usage

load_module(name = .Last.name)

Arguments

name

A string (character vector of lenght one).

A module name can contain letters, figures and some special characters, namely _, -, and /. The latter is a namespace separator.

Names containing /mock/, /mocks/, /test/, /tests/, /example/, or /examples/ have a special meaning related to code testing and examples.

The name "modulr" corresponds to a special module and is therefore reserved.

Details

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.

Value

The absolute file name of the loaded module.

Warning

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.

See Also

.Last.name, make, maps_config, paths_config, and reset.

Examples

reset()
tmp_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")
make()
unlink(tmp_dir, recursive = TRUE)
load_module("foo")


aclemen1/modulr documentation built on Oct. 2, 2024, 7:18 a.m.