Tạo một phương thức S3 (1)
Bản thân hàm generic thì không làm gì cả. Để có chức năng, bạn cần tạo các phương thức, vốn chỉ là các hàm thông thường với hai điều kiện:
- Tên của phương thức phải có dạng
generic.class. - Chữ ký của phương thức — tức là các đối số được truyền vào phương thức — phải chứa chữ ký của generic.
Cú pháp là:
generic.class <- function(some, arguments, ...) {
# Do something
}
Bài tập này là một phần của khóa học
Lập trình hướng đối tượng với S3 và R6 trong R
Hướng dẫn bài tập
Hàm generic get_n_elements() đã được định nghĩa trong không gian làm việc của bạn.
- Gõ tên của nó (không có dấu ngoặc) để xem nó hoạt động thế nào.
- Viết một phương thức S3 để tính số phần tử trong một đối tượng
data.frame.- Tên hàm nên là tên của generic, tiếp theo là một
.rồi đến tên của lớp của đầu vào. - Các đối số đầu vào nên là
xvà.... - Phần thân hàm chỉ một dòng, trả về số phần tử (số hàng nhân số cột) trong một data frame.
- Tên hàm nên là tên của generic, tiếp theo là một
- Gọi
get_n_elementstrên bộ dữ liệusleep(docs) và gán kết quả cho biếnn_elements_sleep. - In
n_elements_sleepra console để xem kết quả.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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