開始使用免費開始

建立 S3 方法(1)

單就泛型函式本身來說,它不會做任何事。要讓它發揮作用,你需要建立方法。方法其實就是一般函式,但需滿足兩個條件:

  1. 方法名稱必須是 generic.class 這種形式。
  2. 方法的簽章——也就是傳入方法的引數——必須包含泛型的簽章。

語法如下:

generic.class <- function(some, arguments, ...) {
  # Do something
}

本練習屬於課程

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

檢視課程

練習說明

泛型 get_n_elements() 函式已經在你的工作環境中定義。

  • 輸入它的名字(不加括號)來看看它的運作方式。
  • 撰寫一個 S3 方法,用來計算 data.frame 物件的元素數量。
    • 函式名稱應該是泛型名稱,接著一個 .,再接輸入物件的類別名稱。
    • 輸入引數應為 x...
    • 函式本體只需一行,回傳 data frame 的元素數量(列數乘上欄數)。
  • sleep文件)資料集呼叫 get_n_elements,並將結果指定給變數 n_elements_sleep
  • 在主控台印出 n_elements_sleep,查看結果。

動手互動練習

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

# 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
編輯並執行程式碼