Tworzenie funkcji generycznej
W systemie S3 możesz tworzyć własne funkcje. Pierwszym krokiem jest napisanie funkcji generycznej. Zazwyczaj jest to funkcja jednolinijkowa, która wywołuje UseMethod() (dokumentacja), przekazując swoją nazwę jako ciąg znaków.
Pierwszy argument funkcji generycznej S3 nosi zazwyczaj nazwę x, choć nie jest to wymagane. Dobrą praktyką jest też dodanie argumentu ... (zwanego „wielokropkiem" lub "dot-dot-dot"), na wypadek gdyby argumenty musiały być przekazywane z jednej metody do drugiej.
Ogólna struktura funkcji generycznej S3 wygląda następująco.
an_s3_generic <- function(x, maybe = "some", other = "arguments", ...) {
UseMethod("an_s3_generic")
}
To ćwiczenie jest częścią kursu
Programowanie obiektowe z S3 i R6 w R
Instrukcje do ćwiczenia
- Zdefiniuj funkcję generyczną S3, która oblicza liczbę elementów w obiekcie
x.- Przypisz tę
functiondoget_n_elements. - Powinna przyjmować argumenty
xi.... - Ciało funkcji powinno wywoływać
UseMethod().
- Przypisz tę
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Create get_n_elements
get_n_elements <- ___(___, ___)
{
___("___")
}