我的R腳本有什麼問題?我試圖用另一種用戶自定義對象中的用戶定義的對象(這裏的「頁面」對象的vector)的向量(這裏是「書」對象)如何在R中使用S4對象編程
setClass("Page",
slots = c(PageNo = "numeric", #scalar
Contents = "character") #vector of strings
)
setClass("Book",
slots = c(Pages = "vector", # Something wrong here? vector of pages ? "Page" or vector" or "list"
Title = "character") #vector of strings
)
setGeneric(name="AddPage", def=function(aBook, pageNo){standardGeneric("AddPage")})
setMethod(f="AddPage", signature="Book",
definition=function(aBook, pageNo)
{
page1 = new("Page")
[email protected] = pageNo
[email protected] = c([email protected], page1) # Something wrong here?
}
)
book1 = new("Book")
[email protected] = "Sample Book"
book1
[email protected]
AddPage(book1, 1)
AddPage(book1, 2)
[email protected]
不應該是一個numPages數字和一個方法來創建一個新的頁面項目在1 + numPages和1如果numPages的長度爲0? –
它適用於「數字」PageNo。我檢查了腳本'page1 = new(「Page」)\ n \ r page1 @ PageNo = 1' – Kyun
頁面有自己的頁碼,但書本需要有一個頁面數量的插槽,以便addPage可以放置一個新頁面在頁面列表中的適當位置。頁面應該是content和lastPage + 1,或者其他一些應該是新頁面的默認位置,並且可以修改現有頁面的內容。或者,您可以默認爲從Book @ Pages長度派生的多個頁面。 –