Because a simList works with an environment to hold all objects,
all objects within that slot are pass-by-reference. That means
it is not possible to simply copy an object with an assignment operator:
the two objects will share the same objects. As one simList object changes
so will the other. when this is not the desired behaviour, use this function.
NOTE: use capital C, to limit confusion with data.table::copy()
See Copy
.
# S4 method for simList Copy(object, filebackedDir, objects, queues)
object | An R object (likely containing environments) or an environment. |
---|---|
filebackedDir | A directory to copy any files that are backing R objects,
currently only valid for |
objects | Whether the objects contained within the simList environment
should be copied. Default |
queues | Logical. Should the events queues ( |
simList
objects can contain a lot of information, much of which could be
in pass-by-reference objects (e.g., data.table
class), and objects that are
file-backed, such as some Raster*
-class objects. For all the objects that
are file-backed, it is likely very important to give unique file-backed
directories. This should be passed here, which gets passed on to the many methods
of Copy
in reproducible
.
Eliot McIntire