Створення узагальнювальної функції
Ви можете створювати власні функції S3. Перший крок — написати узагальнювач (generic). Зазвичай це однорядкова функція, яка викликає UseMethod() (docs), передаючи свою назву як рядок.
Перший аргумент узагальнювача S3 зазвичай називають x, хоча це не обов'язково. Також варто додати аргумент ... ("ellipsis", або «три крапки»), щоб за потреби передавати аргументи від одного методу до іншого.
Загалом структура узагальнювача S3 виглядає так:
an_s3_generic <- function(x, maybe = "some", other = "arguments", ...) {
UseMethod("an_s3_generic")
}
Ця вправа є частиною курсу
Об'єктно-орієнтоване програмування з S3 та R6 в R
Інструкції до вправи
- Визначте узагальнювальну функцію S3 для обчислення кількості елементів в об'єкті
x.- Присвойте цю
functionдоget_n_elements. - Вона має мати аргументи
xта.... - Тіло функції має викликати
UseMethod().
- Присвойте цю
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# Create get_n_elements
get_n_elements <- ___(___, ___)
{
___("___")
}