无需将`!!!`运算符导入包描述?

问题描述 投票:1回答:1

我正在尝试使用dplyr构建一个包。我广泛使用!!!!!rlang运算符。

但是,我没有明确地说明这些问题,尽管这个软件包似乎仍然有用。

我错过了环境中的某些东西,还是import以某种方式覆盖了这个?

r dplyr devtools rlang
1个回答
3
投票

如上所述,import(dplyr)dplyr转出tidyeval依赖关系,所以如果你在Imports中有rlang,你不需要明确导入dplyr。然而,可能值得问你是否需要所有的rlang,或者仅仅是tidyeval部分 - 有一些东西可以说是为了将依赖关系保持在最低限度。 dplyr是一个非常轻量级的依赖包,所以如果你可以直接依赖它,它可以使你的包安装更快,并且(理论上)不太可能破坏外部更新。

如果您发现自己在包开发中使用了大量的引用和取消引用操作符,您还可以查看rlangusethis package's "tidyverse development helpers"“导入一组标准助手,以便利用整洁的eval工具包进行编程。”这是一种快速简便的方法,可以将usethis::use_tidy_eval()添加到Imports,进口/再出口,并记录rlang(en)quo(s)(en)sym(s),函数,(en)expr(s)代词和.data。那么你应该拥有在整个包装中使用tidyeval所需的东西。

© www.soinside.com 2019 - 2024. All rights reserved.