R中不可见的功能/方法 - 它们是如何制作的?

xea*_*its 8 methods hidden r function

如何定义用户不可见的函数(方法)?那些你打电话时带星号的那些methods().

它似乎在互联网上有关于它们的一切,但如何定义它们?

我可以只定义一个不可见的函数(通过在其名称中添加一些东西),或者我应该以某种方式调整环境,还是R包的特定功能来隐藏东西?

ale*_*eil 8

这些是"隐藏"功能.您可能会发现(警告pdf)很有用.当您在NAMESPACE文件中设计包作为R包的螺母和螺栓的一部分时,您可以这样做.这是bilan包的NAMESPACE文件的全文(可以通过从CRAN打开包源代码tar.gz文件找到):

useDynLib(bilan)
exportPattern("^bil\\.[[:alpha:]]+")
exportPattern("^sbil\\.[[:alpha:]]+")

从上面提到的pdf:

拥有隐藏的功能.使用export命令替换exportPattern命令,其中export的参数是逗号分隔的函数名,用户应该可以访问它们

基本上,如果你有两个功能创建的R包foobar,你可以让空间文件与线export(foo),然后bar将一个隐藏的功能.