【发布时间】:2020-04-07 08:26:42
【问题描述】:
我的包中有一个功能需要谨慎使用。
用户应该意识到这一点,但如果他/她认为情况正常,那么每次调用函数时都显示警告会很麻烦。
我经常看到只显示一次的警告。它们调试起来非常痛苦,所以我找不到可重现的示例(如果有的话,我会添加一个),但它们会显示特定的警告消息,然后是 rlang 信息:
此警告在每个会话中显示一次
有很多帮助想要调试这些消息(例如 here、here 或 here,只需 google “r 此警告在每个会话中显示一次”)
我认为lifecyle 包经常使用这些包进行软弃用,但我无法发现lifecycle:::lifecycle_build_message 中的技巧。
如何在我的包裹中抛出这样的警告?
编辑:
这是一个可重现的示例。您必须重新启动 R 会话才能再次显示。如您所见,options(warn=2) 没有影响。
options(warn=2)
xx=c("Sepal.Width")
tidyselect::vars_select(names(iris), xx)
【问题讨论】:
-
最好在下面发布答案,而不是将答案编辑到问题本身中。这允许其他人适当地支持潜在的解决方案。免费将您接受的答案更改为更新的首选解决方案。