在R中使用::
的目的是什么?我注意到在一些指南中他们使用::
来指示函数来自哪个包。这会使事情运行得更快还是仅仅表明需要哪些软件包?
此外,::
还有其他用途/用途吗?
ggplot2软件包介绍的片段:
grid::polygonGrob(
coords$x, coords$y,
default.units = "native",
gp = grid::gpar(
col = first_row$colour,
fill = scales::alpha(first_row$fill, first_row$alpha),
lwd = first_row$size * .pt,
lty = first_row$linetype
)
答案 0 :(得分:5)
在任何给定时间,都有基于加载包的顺序建立的NAMESPACE的搜索路径。有时加载包装将会掩盖"与工作空间中已存在的名称相同的函数。这通常在新软件包加载时公布,但用户可能会忽略这一问题。使用" ::"确保在正确的环境下从所需的包中访问特定的功能。尝试使用第二个库调用重新加载函数会失败,因为library()函数会检查库是否已经加载,如果它在搜索路径中则不会执行任何操作。