我正在浏览一些ggplot2
代码,我偶然发现了(实际上编译器偶然发现了它)%||%
运算符。我想它是某种“逻辑 - 或”函数,似乎与参数有关,但不知怎的,它在我的环境中没有定义。我已将ggplot2
所拥有的所有依赖项(plyr,scales,reshape2,digest,MASS,gtable
)与library
语句包含在内,但它没有帮助。
?%||%
和??%||%
没有帮助,也没有使用SO搜索和Google甚至Bing。我实际上认为大多数搜索服务只是拒绝搜索这些东西,这使得找到这些运算符真的很困难。
现在还不确定在哪里看,没有找到那些与他们的时间有更好关系的包装作者 - 特别是这些包装作者。
那么它在哪里,我应该在哪里找到它?我真的希望对这些事情自给自足。
答案 0 :(得分:4)
您的初始方法很好,另外一个技巧是在您的查询中添加反引号:
R> ?`%||%`
其中显示了来自purrr的null-default的帮助页面,将其描述为"此中缀函数可以轻松地将NULL替换为默认值"
使用中:
R> 1 %||% 2
[1] 1
R> NULL %||% 2
[1] 2
答案 1 :(得分:4)
您可以在此处找到定义:https://github.com/hadley/ggplot2/blob/master/R/utilities.r#L10-L12
"%||%" <- function(a, b) {
if (!is.null(a)) a else b
}
这是一个非常好的捷径。你可以在Hadley的许多包装中找到它。