![](/img/trans.png)
[英]How to use/maintain my S4 class with same name as S4 class in another R package?
[英]How to make S4 class from another package available to my package?
我正在遵循Hadley的指南來實現DBI后端 ,該指南指示我構建從DBI類繼承的S4類。
根據說明,要使DBI類可用,似乎我只需要將DBI
列為導入文件中的DESCRIPTION
文件。
但是,即使這樣做,我仍然會收到錯誤消息
Error in reconcilePropertiesAndPrototype(name, slots, prototype, superClasses, :
no definition was found for superclass “DBIDriver” in the specification of class “KazamDriver”
如果我顯式地將DBI
附加到library
那么這個問題就消失了,但是當然不應該在軟件包代碼中使用library
。
我的代碼:
# DBI-backend.R
setClass("KazamDriver", contains = "DBIDriver")
# DESCRIPTION
Imports:
DBI (>= 0.3.0),
methods
DESCRIPTION文件中的“導入”字段實際上不導入任何內容。 它僅確保在用戶安裝軟件包時安裝了列出的軟件包。
而是使用NAMESPACE使其他程序包或功能可用於您的程序包。 另外,請勿手動編輯NAMESPACE,而應使用Roxygen2( 在此處查看詳細信息)。
對於這種特殊情況,這意味着
#' @import DBI
setClass("KazamDriver", contains = "DBIDriver")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.