開始使用免費開始

很有「類」型

變數可以同時擁有多個類別。這種情況下,class()文件)會回傳長度大於 1 的字元向量。

同樣地,你也可以把字元向量指定給 class(),一次設定多個類別。類別的順序應該由左到右從較具體到較一般,因為你會希望先套用最貼近該物件的行為。範例如下:

x <- c("a", "e", "i", "o", "u")
class(x) <- c("vowels", "letters", "character")

你可以用通用的 inherits()文件)函式來檢查其他類別。例如:

inherits(x, "vowels")

本練習屬於課程

在 R 中使用 S3 與 R6 的物件導向程式設計

檢視課程

練習說明

變數 kitty 已經在你的工作空間中預先定義。

  • 輸入名稱以檢視 kitty
  • 將類別 "cat""mammal""character" 指派給變數 kitty
  • 使用 inherits() 逐一(依序)檢查 kitty 是否具有 "cat""mammal""character" 這些類別。
  • 使用 is.character() 檢查 kitty 依然是字元向量。
  • 檢查 kitty 不具有類別 "dog"

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# View the kitty
kitty

# Assign classes
___ <- ___

# Does kitty inherit from cat/mammal/character?
inherits(___, "___")
___
___

# Is kitty a character vector?
___

# Does kitty inherit from dog?
___
編輯並執行程式碼