簡體   English   中英

無需將`!!!`運算符導入包描述?

[英]No need to import `!!!` operators into the package DESCRIPTION?

我正在嘗試使用dplyr構建一個包。 我廣泛使用!! !!! 來自rlang運營商。

但是,我沒有明確地import它們,盡管這個包看起來仍然有用。

我在環境中遺漏了什么,或import(dplyr)以某種方式覆蓋了這個?

如上所述, dplyrdplyr重新導出tidyeval依賴rlang ,因此如果你在Imports中有dplyr ,則不需要顯式導入rlang 但是,可能值得問一下你是否需要所有的dplyr ,或者僅僅是tidyeval部分 - 還有一些東西可以說是為了將依賴關系保持在最低限度。 rlang是一個非常輕量級的依賴包,所以如果你可以直接依賴它,它可以讓你的包安裝更快,並且(理論上)不太可能破壞外部更新。

如果您發現自己在軟件包開發中使用了很多引用和取消引用操作符,那么您也可以查看使用該軟件包的“tidyverse開發助手” usethis::use_tidy_eval() “導入一組標准的助手,以便於使用整潔的eval工具包進行編程。” 這是一種快速簡便的方法,可以將rlang添加到Imports,導入/重新導出並記錄(en)quo(s)(en)sym(s)(en)expr(s) ,函數, .data代詞,和:= 那么你應該擁有在整個包裝中使用tidyeval所需的東西。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM