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

时间:2013-12-24 03:30:21

标签: r function methods hidden

如何定义用户不可见的功能(方法)? 当你打电话给methods()时,那些带星号的那些。

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

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

1 个答案:

答案 0 :(得分:8)

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

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

从上面提到的pdf:

  

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

基本上,如果您创建了一个包含两个函数foobar的R包,则可以使用行export(foo)生成NAMESPACE文件,然后bar将是隐藏的功能。