View source: R/trajectory-activities.R
rollback | R Documentation |
Activity for going backwards to a previous point in the trajectory. Useful to implement loops.
rollback(.trj, target, times = Inf, check = NULL, ..., tag)
.trj |
the trajectory object. |
target |
tag name (previously set with the |
times |
the number of repetitions until an arrival may continue. |
check |
a callable object (a function) which must return a boolean. If
present, the |
... |
unused |
tag |
activity tag name to perform named rollbacks (see
|
Returns the trajectory object.
## rollback a specific number of times
traj <- trajectory() %>%
log_("hello!") %>%
timeout(1) %>%
rollback(2, 3)
simmer() %>%
add_generator("hello_sayer", traj, at(0)) %>%
run() %>% invisible
## same but with a tag as target
traj <- trajectory() %>%
log_("hello!", tag="msg") %>%
timeout(1) %>%
rollback("msg", 3)
simmer() %>%
add_generator("hello_sayer", traj, at(0)) %>%
run() %>% invisible
## custom check
env <- simmer()
traj <- trajectory() %>%
set_attribute("var", 0) %>%
log_(tag="msg", function()
paste("attribute level is at:", get_attribute(env, "var"))) %>%
set_attribute("var", 25, mod="+") %>%
rollback("msg", check=function() get_attribute(env, "var") < 100) %>%
log_("done")
env %>%
add_generator("dummy", traj, at(0)) %>%
run() %>% invisible
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.