This section introduces the browse
argument of
flow_run()
and the functions flow_debug()
and
flow_debugonce()
browse
flow_run()
runs a call and displays the logical path
that was taken, but what if we’d like to walk through the code step by
step, as we would by inserting a browser()
call in our
function’s body or calling debug()
or
debugonce()
on our function ?
In these cases we can use the browse
argument, set it to
TRUE
and you’ll be able to browse through the function as
it’s run. And refresh the diagram by typing d
or the
equivalent flow_draw()
flow_debug()
flow_run
is convenient to inspect the logic of a
function that we call directly, sometimes we might want to inspect a
call that’s part of another function’s body.
In this situation we can use flow_debug()
. These work a
lot like debug()
when using browse = TRUE
.
library(flow)
flow_debug(factorial)
#> Tracing function "factorial" in package "base"
factorial5 <- function(){
x <- 5L
factorial(x)
}
factorial5()
#> [1] 120