Package: S7 0.2.0
S7: An Object Oriented System Meant to Become a Successor to S3 and S4
A new object oriented programming system designed to be a successor to S3 and S4. It includes formal class, generic, and method specification, and a limited form of multiple dispatch. It has been designed and implemented collaboratively by the R Consortium Object-Oriented Programming Working Group, which includes representatives from R-Core, 'Bioconductor', 'Posit'/'tidyverse', and the wider R community.
Authors:
S7_0.2.0.tar.gz
S7_0.2.0.tar.gz(r-4.5-noble)S7_0.2.0.tar.gz(r-4.4-noble)
S7_0.2.0.tgz(r-4.4-emscripten)S7_0.2.0.tgz(r-4.3-emscripten)
S7.pdf |S7.html✨
S7/json (API)
NEWS
# Install 'S7' in R: |
install.packages('S7', repos = c('https://cran.r-universe.dev', 'https://cloud.r-project.org')) |
Bug tracker:https://github.com/rconsortium/s7/issues
Last updated 14 days agofrom:87ffc7f2a8. Checks:OK: 2. Indexed: no.
Target | Result | Date |
---|---|---|
Doc / Vignettes | OK | Nov 08 2024 |
R-4.5-linux-x86_64 | OK | Nov 08 2024 |
Exports:as_classcheck_is_S7class_anyclass_atomicclass_callclass_characterclass_complexclass_data.frameclass_Dateclass_doubleclass_environmentclass_expressionclass_factorclass_formulaclass_functionclass_integerclass_languageclass_listclass_logicalclass_missingclass_nameclass_numericclass_POSIXctclass_POSIXltclass_POSIXtclass_rawclass_vectorconvertmethodmethod_explainmethod<-methods_registernew_classnew_external_genericnew_genericnew_objectnew_propertynew_S3_classnew_unionpropprop_existsprop_namesprop<-propsprops<-S4_registerS7_classS7_dataS7_data<-S7_dispatchS7_inheritsS7_objectset_propssupervalid_eventuallyvalid_implicitlyvalidate
Dependencies:
Classes and objects
Rendered fromclasses-objects.Rmd
usingknitr::rmarkdown
on Nov 08 2024.Last update: 2024-11-07
Started: 2023-08-24
Compatibility with S3 and S4
Rendered fromcompatibility.Rmd
usingknitr::rmarkdown
on Nov 08 2024.Last update: 2024-11-07
Started: 2023-08-24
Generics and methods
Rendered fromgenerics-methods.Rmd
usingknitr::rmarkdown
on Nov 08 2024.Last update: 2024-11-07
Started: 2023-08-24
Motivation for S7
Rendered frommotivation.Rmd
usingknitr::rmarkdown
on Nov 08 2024.Last update: 2024-11-07
Started: 2023-08-24
Performance
Rendered fromperformance.Rmd
usingknitr::rmarkdown
on Nov 08 2024.Last update: 2024-11-07
Started: 2023-08-24
S7 basics
Rendered fromS7.Rmd
usingknitr::rmarkdown
on Nov 08 2024.Last update: 2024-11-07
Started: 2023-08-24
Using S7 in a package
Rendered frompackages.Rmd
usingknitr::rmarkdown
on Nov 08 2024.Last update: 2024-11-07
Started: 2023-08-24
Readme and manuals
Help Manual
Help page | Topics |
---|---|
S7 wrappers for base types | base_classes class_atomic class_call class_character class_complex class_double class_environment class_expression class_function class_integer class_language class_list class_logical class_name class_numeric class_raw class_vector |
S7 wrappers for key S3 classes | base_s3_classes class_data.frame class_Date class_factor class_formula class_POSIXct class_POSIXlt class_POSIXt |
Dispatch on any class | class_any |
Dispatch on a missing argument | class_missing |
Convert an object from one type to another | convert |
Find a method for an S7 generic | method |
Explain method dispatch | method_explain |
Register an S7 method for a generic | method<- |
Register methods in a package | methods_register |
Define a new S7 class | new_class new_object |
Generics in other packages | new_external_generic |
Define a new generic | new_generic S7_dispatch |
Define a new property | new_property |
Declare an S3 class | new_S3_class |
Define a class union | new_union |
Get/set a property | @ @.S7_object prop prop<- |
Property introspection | prop_exists prop_names |
Get/set multiple properties | props props<- set_props |
Register an S7 class with S4 | S4_register |
Retrieve the S7 class of an object | S7_class |
Get/set underlying "base" data | S7_data S7_data<- |
Does this object inherit from an S7 class? | check_is_S7 S7_inherits |
Force method dispatch to use a superclass | super |
Validate an S7 object | validate valid_eventually valid_implicitly |