是否有任何重要的[1]理由不在R软件包中导出名称为fnname
的函数?
据我所知,点前缀变量的主要用途是将变量表示为在使用ls
等函数搜索环境时隐藏,并表示对象或列表中的字段应视为像S4 .Data字段一样私有。
test_env <- new.env(parent = emptyenv())
test_env $ .hidden <- 10
ls(test_env)
# character(0)
ls(test_env, all.names = TRUE)
# ".hidden"
据我所知,约定是在一些实用程序环境搜索功能的层面上强制实施的,而不是整个R语言。
变量的点前缀是否会改变核心语言特征(如词法作用域)或各种对象系统的行为,如果是这样会导致导出带点前缀的函数不合适或危险吗?
感谢您提供任何帮助或信息。
[1]重要的是我的意思是非文体;有问题的库使用特殊的前缀和后缀来标记函数类型签名的各个方面,有点像plyr
的特殊命名约定。滥用以点为前缀的变量通常是非语义的,但在这种情况下,值得复合的含义。