Створення методу S3 (1)
Сам по собі дженерик-функція нічого не робить. Для цього потрібно створити методи — це звичайні функції з двома умовами:
- Назва методу має бути у форматі
generic.class. - Сигнатура методу — тобто аргументи, які передаються до методу — має містити сигнатуру дженерика.
Синтаксис:
generic.class <- function(some, arguments, ...) {
# Виконати дію
}
Ця вправа є частиною курсу
Об'єктно-орієнтоване програмування з S3 та R6 в R
Інструкції до вправи
Дженерик get_n_elements() уже визначено у вашому робочому середовищі.
- Введіть його назву (без дужок), щоб побачити, як він працює.
- Напишіть метод S3 для обчислення кількості елементів в об'єкті
data.frame.- Назва функції має складатися з назви дженерика, потім
.і назви класу вхідного об'єкта. - Вхідні аргументи мають бути
xі.... - Тіло функції — один рядок, який повертає кількість елементів (рядки помножити на стовпці) у датафреймі.
- Назва функції має складатися з назви дженерика, потім
- Викличте
get_n_elementsдля набору данихsleep(docs) і запишіть результат у зміннуn_elements_sleep. - Виведіть
n_elements_sleepу консоль, щоб побачити результат.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# View get_n_elements
get_n_elements
# Create a data.frame method for get_n_elements
___ <- ___
# Call the method on the sleep dataset
n_elements_sleep <- ___
# View the result
n_elements_sleep