MulaiMulai sekarang secara gratis

Fungsi Generic Primitif

Sebagian fungsi inti R didefinisikan menggunakan fungsi primitif, yang memakai teknik khusus untuk mengakses kode C demi alasan kinerja. Contoh fungsi primitif mencakup elemen bahasa seperti if dan for, operator seperti + dan $, serta fungsi matematika seperti exp dan sin. Fungsi primitif mencakup generic S3; daftar lengkap generic primitif S3 dapat ditemukan menggunakan .S3PrimitiveGenerics (docs).

Ketika sebuah generic S3 bersifat primitif, proses pencariannya untuk menemukan method bekerja sedikit berbeda. R akan mencari method menggunakan class (docs), seperti biasa, tetapi jika tidak ada yang ditemukan, fungsi internal berbasis kode C akan dipanggil. (Bandingkan dengan generic biasa, yang akan menghasilkan galat jika tidak ada method yang ditemukan.) Ini berarti bahwa jika Anda menimpa kelas suatu objek, perilaku mendasar seperti menghitung length tidak akan rusak.

Latihan ini adalah bagian dari kursus

Pemrograman Berorientasi Objek dengan S3 dan R6 di R

Lihat Kursus

Petunjuk latihan

Sebuah objek list, dengan kelas yang ditimpa menjadi "hairstylist", telah ditempatkan di ruang kerja Anda ke dalam variabel hair.

  • Lihat struktur hair dengan str() (docs).
  • Daftarkan semua generic primitif S3 yang diketahui R.
  • Gunakan fungsi exists() (docs) untuk memeriksa bahwa tidak ada fungsi bernama length.hairstylist. Perhatikan bahwa fungsi ini menerima masukan berupa karakter.
  • Hitung length() (docs) dari variabel hair.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# View the structure of hair
___

# What primitive generics are available?
___

# Does length.hairstylist exist?
___

# What is the length of hair?
___
Edit dan Jalankan Kode