Sangat Berkelas
Variabel dapat memiliki lebih dari satu kelas. Dalam kasus ini, class() (docs) mengembalikan vektor karakter dengan panjang lebih dari satu.
Demikian pula, Anda dapat menetapkan beberapa kelas dengan memberikan vektor karakter ke class(). Urutkan kelas dari yang lebih spesifik ke yang lebih umum dari kiri ke kanan, karena Anda ingin memulai dengan perilaku yang paling sesuai dengan objek Anda. Contohnya:
x <- c("a", "e", "i", "o", "u")
class(x) <- c("vowels", "letters", "character")
Anda dapat memeriksa kelas lainnya menggunakan fungsi serbaguna inherits() (docs). Contohnya:
inherits(x, "vowels")
Latihan ini merupakan bagian dari kursus
Pemrograman Berorientasi Objek dengan S3 dan R6 di R
Instruksi latihan
Variabel kitty telah didefinisikan sebelumnya di ruang kerja Anda.
- Lihat
kittydengan mengetikkan namanya. - Tetapkan kelas
"cat","mammal", dan"character"ke variabelkitty. - Periksa bahwa
kittymemiliki kelas"cat", lalu"mammal","character"(satu per satu, dalam urutan tersebut) menggunakaninherits(). - Periksa bahwa
kittymasih berupa vektor karakter menggunakanis.character(). - Periksa bahwa
kittytidak memiliki kelas"dog".
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
# View the kitty
kitty
# Assign classes
___ <- ___
# Does kitty inherit from cat/mammal/character?
inherits(___, "___")
___
___
# Is kitty a character vector?
___
# Does kitty inherit from dog?
___