[英]How to import an R6 class into a package?
我想在我的个人 package 中使用函数,该函数建立在Microsoft365R
package 内部定义的名为ms_team
的 R6 class 之上。现在这些函数都失败了,因为即使我导入了我需要的函数,当我尝试调用我的函数之一时依赖它们的函数,我得到一个错误,找不到这个 object。
登录错误 $get_team(team_id): object 'ms_team' not found
我试图在我的 function 中包含@importFrom Microsoft365R ms_team...
,但没有成功。 在 package 中使用依赖于外部定义的 R6 类的函数的魔法词是什么?
Microsoft365R 开发人员在这里。 我假设您使用的是 roxygen2。
要从另一个 package 导入导出的 object(任何 object,而不仅仅是 R6 类),请将
#' @importFrom pkgname objname
NULL
在您的软件包的 R 文件之一中。 在这种情况下,你会做
#' @importFrom Microsoft365R ms_team
NULL
导入整个 package 可能更容易,更健壮:
#' @import Microsoft365R
NULL
例如,请参阅此处了解我如何将 AzureGraph package 导入 Microsoft365R 本身。
从版本2.3.1
(2021 年 9 月)开始,可以使用Microsoft365R
而无需搜索列表中的 package。
这意味着您不必再导入整个 package。 您现在可以将Microsoft365R
添加到DESCRIPTION
文件中的Imports
,并调用Microsoft365R::function()
/ Microsoft365R::object
等函数/对象。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.