This helper function constructs a timeline where the order of test elements (or blocks of test elements) is determined at run time.
order_at_run_time(
label,
get_order,
logic,
save_order = function(order, state, ...) save_result(state, label, order)
)(Character scalar) A label for storing the generated order of test elements.
Function that should accept the arguments state and ....
It will be called at run time, being passed the participant's
state object. It should return a permutation of the integers 1 to N,
where N is the length of the logic argument.
List where each top-level element corresponds to a randomisation unit. These randomisation units may be either single test elements, lists of test elements, or timelines.
A function called at run time to save the result of get_order.
It should accept three arguments: order, state, and ....
order corresponds to the output of get_order,
whereas state corresponds to the participant's state object.
The default setting saves the generated order in psychTestR's
default results repository, under the label label.
A list of test elements, or equivalently a timeline, which can be combined
with other test elements or timelines.
These test elements will be presented in the order defined by the
get_order function, with this function being called
afresh for each new participant.
This function can be nested arbitrarily many times.
randomise_at_run_time for the common application
of randomising the order of test elements anew for each participant.