templates | 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 (summarized in a message when you call the functions):
Call usethis::use_package(\"constructive\"
, \"Suggests\")' one time at any
point, this will add a soft dependency on 'constructive' so it's only needed to
install it when you use it.
Call .cstr_new_class()
or .cstr_new_constructor()
, with commented = TRUE
for more guidance.
Save the scripts unchanged in the "R" folder of 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
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.