templates {constructive} | R Documentation |
.cstr_new_class()
and .cstr_new_constructor()
open new unsaved scripts,
optionally commented, that can be used as templates to define new constructors.
If the class is already supported and you want to implement a new constructor,
use .cstr_new_constructor()
, otherwise use .cstr_new_class()
.
.cstr_new_class(
class = c("CLASS", "PARENT_CLASS"),
constructor = "PKG::CONSTRUCTOR",
commented = FALSE
)
.cstr_new_constructor(
class = c("CLASS", "PARENT_CLASS"),
constructor = "PKG::CONSTRUCTOR",
commented = FALSE
)
class |
Class to support, provide the full |
constructor |
Name of the constructor, usually the name of the function you can to use to build the object. If not you might need to adjust the script. |
commented |
Boolean. Whether to include comments in the template. |
We suggest the following workflow :
Call these functions, with commented = TRUE
for more guidance
Save the scripts unchanged in your package
devtools::document()
: this will register the S3 methods
Try construct()
on your new object, it should print a call to your chosen
constructor
Tweak the code, in particular the definition of args
The README of the example extension package
'constructive.example'
guides you through the process. See also {constructive}'s own code
and vignette("extend-constructive")
for more details.
Both function return NULL
invisibly and are called for side effects