construct_reprex()
constructs all objects of the local environment,
or a caller environment n
steps above. If n > 0
the function call
is also included in a comment.
Arguments
- ...
Forwarded to
construct_multi()
- n
The number of steps to go up on the call stack
- include_dotted
Whether to include names starting with dots, this includes
.Random.seed
in the global environment and objects like.Class
and.Generic
in the execution environments of S3 methods.
Details
construct_reprex()
doesn't call the {reprex} package. construct_reprex()
builds reproducible data while the reprex package build reproducible output
once you have the data.
construct_reprex()
wraps construct_multi()
and is thus able to construct
unevaluated arguments using delayedAssign()
. This means we can construct
reprexes for functions that use Non Standard Evaluation.
A useful trick is to use options(error = recover)
to be able to inspect
frames on error, and use construct_reprex()
from there to reproduce the
data state.
construct_reprex()
might fail to reproduce the output of functions that refer
to environments other than their caller environment. We believe these are
very rare and that the simplicity is worth the rounded corners, but if you
encounter these limitations please do open a ticket on our issue tracker
at https://github.com/cynkra/constructive/
and we might expand the feature.