kfj0011 发现关于fGarch包中有这么两个函数 fGarch::.garchFit 和 fGarch::garchFit 命名空间分别如下: <bytecode: 0x000000001d3da868> <environment: namespace:fGarch> <bytecode: 0x0000000018938828> <environment: namespace:fGarch> 这两者,函数前面加点,是什么意思?
yihui kfj0011 没有任何理论上的意义。点只有名义上的意义:以点开头的对象通常是“隐藏对象”。但显然你说的这个包没有遵守这个常规,因为它把以点开头的函数也导出变成用户可见的了。 至于为什么点代表隐藏,只是源于一个美丽的误会:https://en.wikipedia.org/wiki/Hidden_file_and_hidden_directory 然后 R 又很喜欢借鉴 Unix 的一些名义规范,所以 R 函数也通常用点表示内部函数。这个在 R 代码里真心没有意义,导出与不导出,用命名空间控制即可。