"::"的目的是什么?为什么有用?

cga*_*ge1 1 r

::在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
      )
Run Code Online (Sandbox Code Playgroud)

42-*_*42- 5

在任何给定时间,都存在基于加载包的顺序建立的NAMESPACE的搜索路径.有时加载包将"屏蔽"一个与工作空间中已存在的名称相同的函数.这通常在新软件包加载时公布,但用户可能会忽略这一问题.使用"::"可确保使用正确的环境从所需的包访问特定的功能.尝试使用第二个库调用重新加载函数将失败,因为library()函数检查库是否已加载,如果它在搜索路径中则不执行任何操作.