1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Lập trình hướng đối tượng với S3 và R6 trong R

Connected

Bài tập

Hàm Generic Nguyên thủy (Primitive)

Một số chức năng cốt lõi của R được định nghĩa bằng các hàm nguyên thủy (primitive), sử dụng kỹ thuật đặc biệt để truy cập mã C nhằm tăng hiệu năng. Ví dụ về hàm nguyên thủy gồm các phần tử ngôn ngữ như if và for, các toán tử như + và $, và các hàm toán học như exp và sin. Các hàm nguyên thủy có bao gồm S3 generic; danh sách đầy đủ các S3 primitive generic có thể tìm bằng .S3PrimitiveGenerics (docs).

Khi một S3 generic là nguyên thủy, quá trình tra cứu phương thức (method lookup) hoạt động hơi khác. R sẽ tìm phương thức dựa trên class (docs) như bình thường, nhưng nếu không thấy gì, hàm C nội bộ sẽ được gọi. (So sánh với generic thông thường, nơi sẽ báo lỗi nếu không tìm được method.) Điều này có nghĩa là nếu bạn ghi đè lớp (class) của một đối tượng, các hành vi nền tảng như tính độ dài sẽ không bị phá vỡ.

Hướng dẫn

100 XP

Một đối tượng list, với class bị ghi đè thành "hairstylist", đã được gán trong không gian làm việc của bạn vào biến hair.

  • Xem cấu trúc của hair với str() (docs).
  • Liệt kê tất cả các S3 primitive generic mà R biết.
  • Dùng hàm exists() (docs) để kiểm tra rằng không có hàm nào tên length.hairstylist. Lưu ý hàm này nhận đầu vào là chuỗi ký tự.
  • Tính length() (docs) của biến hair.