View source: R/drake_plan_helpers.R
ignore | R Documentation |
Ignore sections of commands and imported functions.
ignore(x = NULL)
x |
Code to ignore. |
In user-defined functions and drake_plan()
commands, you can
wrap code chunks in ignore()
to
Tell drake
to not search for dependencies
(targets etc. mentioned in the code) and
Ignore changes to the code so downstream targets remain up to date.
To enforce (1) without (2), use no_deps()
.
The argument.
drake_plan()
understands special keyword functions for your commands.
With the exception of target()
, each one is a proper function
with its own help file.
target()
: give the target more than just a command.
Using target()
, you can apply a transformation
(examples: https://books.ropensci.org/drake/plans.html#large-plans
), # nolint
supply a trigger (https://books.ropensci.org/drake/triggers.html
), # nolint
or set any number of custom columns.
file_in()
: declare an input file dependency.
file_out()
: declare an output file to be produced
when the target is built.
knitr_in()
: declare a knitr
file dependency such as an
R Markdown (*.Rmd
) or R LaTeX (*.Rnw
) file.
ignore()
: force drake
to entirely ignore a piece of code:
do not track it for changes and do not analyze it for dependencies.
no_deps()
: tell drake
to not track the dependencies
of a piece of code. drake
still tracks the code itself for changes.
id_chr()
: Get the name of the current target.
drake_envir()
: get the environment where drake builds targets.
Intended for advanced custom memory management.
file_in()
, file_out()
, knitr_in()
, no_deps()
## Not run:
isolate_example("Contain side effects", {
# Normally, `drake` reacts to changes in dependencies.
x <- 4
make(plan = drake_plan(y = sqrt(x)))
x <- 5
make(plan = drake_plan(y = sqrt(x)))
make(plan = drake_plan(y = sqrt(4) + x))
# But not with ignore().
make(plan = drake_plan(y = sqrt(4) + ignore(x))) # Builds y.
x <- 6
make(plan = drake_plan(y = sqrt(4) + ignore(x))) # Skips y.
make(plan = drake_plan(y = sqrt(4) + ignore(x + 1))) # Skips y.
# ignore() works with functions and multiline code chunks.
f <- function(x) {
ignore({
x <- x + 1
x <- x + 2
})
x # Not ignored.
}
make(plan = drake_plan(y = f(2)))
readd(x)
# Changes the content of the ignore() block:
f <- function(x) {
ignore({
x <- x + 1
})
x # Not ignored.
}
make(plan = drake_plan(x = f(2)))
readd(x)
})
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.