Een generieke functie maken
Je kunt je eigen S3-functies maken. De eerste stap is het schrijven van de generiek. Dit is meestal een eenregelige functie die UseMethod() (docs) aanroept en daarbij de functienaam als string doorgeeft.
Het eerste argument van een S3-generiek heet meestal x, al is dat niet verplicht. Het is ook goede gewoonte om een ... ("ellipsis" of "dot-dot-dot") argument op te nemen, voor het geval argumenten van de ene methode naar de andere moeten worden doorgegeven.
In grote lijnen ziet de structuur van een S3-generiek er zo uit.
an_s3_generic <- function(x, maybe = "some", other = "arguments", ...) {
UseMethod("an_s3_generic")
}
Deze oefening maakt deel uit van de cursus
Objectgeoriënteerd programmeren met S3 en R6 in R
Oefeninstructies
- Definieer een S3-generieke functie om het aantal elementen in een object
xte berekenen.- Wijs de
functiontoe aanget_n_elements. - De functie moet de argumenten
xen...hebben. - De body van de functie moet
UseMethod()aanroepen.
- Wijs de
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# Create get_n_elements
get_n_elements <- ___(___, ___)
{
___("___")
}