如何定义用户不可见的功能(方法)?
当你打电话给methods()
时,那些带星号的那些。
互联网上似乎有关于它们的一切,但如何定义它们?
我可以定义一个不可见的函数(例如通过在其名称中添加一些内容),或者我应该以某种方式调整环境,还是R软件包的特定功能来隐藏内容?
答案 0 :(得分:8)
这些是“隐藏”功能。您可能会发现this(警告pdf)很有用。当您在NAMESPACE文件中设计包作为R包的螺母和螺栓的一部分时,您可以这样做。以下是bilan
包的NAMESPACE文件的全文(可以通过从CRAN打开包源代码tar.gz文件找到):
useDynLib(bilan) exportPattern("^bil\\.[[:alpha:]]+") exportPattern("^sbil\\.[[:alpha:]]+")
从上面提到的pdf:
拥有隐藏功能。替换exportPattern命令 使用export命令,其中export是参数 用户可以访问的逗号分隔的函数名称
基本上,如果您创建了一个包含两个函数foo
和bar
的R包,则可以使用行export(foo)
生成NAMESPACE文件,然后bar
将是隐藏的功能。