【发布时间】:2013-08-08 16:40:23
【问题描述】:
我想写一个 R 包。它的一小部分功能是将数据保存到 xlsx 文件中。但是这个功能需要一个大而重的依赖:library(xlsx)。所以我想让这个依赖以某种方式成为可选和延迟加载。
它的最佳实践是什么?
我想我可以在需要它的函数代码中简单地library(xlsx),并处理此命令可能出现的故障。
【问题讨论】:
-
函数内部使用,可以使用
require。 -
如果你只需要一些功能你可以做
xlsx:::the_function_you_need(...) -
@holzbrn 我知道,但据我所知,我首先必须
require那个图书馆。加载这个库需要几秒钟,而且我猜它需要很多资源(Java VM 等) -
我刚试过,你不需要
require,但我认为这个包必须安装,所以如果你把你的包转发给其他用户可能会出现问题 -
@holzbrn 我自己也试过了,不幸的是,我需要的特定功能
xlsx::read.xlsx除非我require(xlsx)才能工作。只有这样它才会加载它的依赖项:xlsxjars和rJava,我猜还会做很多其他的初始化工作。