These functions are named after the base functions debug()
, undebug()
and
debugonce()
. flow_debug()
will call flow_run()
, with the same additional arguments, on all the following
calls to f()
until flow_undebug()
is called. flow_debugonce()
will only
call flow_run()
on the next call to f()
.
flow_debug(
f,
prefix = NULL,
code = TRUE,
narrow = FALSE,
truncate = NULL,
swap = TRUE,
out = NULL,
browse = FALSE
)flow_debugonce(
f,
prefix = NULL,
code = TRUE,
narrow = FALSE,
truncate = NULL,
swap = TRUE,
out = NULL,
browse = FALSE
)
flow_undebug(f)
function to debug
prefix to use for special comments in our code used as block headers,
must start with "#"
, several prefixes can be provided
Whether to display the code in code blocks or only the header,
to be more compact, if NA
, the code will be displayed only if no header
is defined by special comments
TRUE
makes sure the diagram stays centered on one column
(they'll be longer but won't shift to the right)
maximum number of characters to be printed per line
whether to change var <- if(cond) expr
into
if(cond) var <- expr
so the diagram displays better
a path to save the diagram to. Special values "html", "htm", "png", "pdf", "jpg" and "jpeg" can be used to export the objec to a temp file of the relevant format and open it, if a regular path is used the format will be guessed from the extension.
whether to debug step by step (block by block),
can also be a vector of block ids, in this case browser()
calls will be
inserted at the start of these blocks
These functions return NULL
invisibly (called for side effects)
By default, unlike debug()
and debugonce()
, flow_debug()
and
flow_debugonce()
don't trigger a debugger but only draw diagrams, this is
consistent with flow_run()
's defaults. To browse through the code, use
the browse
argument.