在S3风格的OOP中,编写为foo.A
的函数名称用于调用类 f 类 A 。
但最近我遇到了写成function.class.class
foo.A.B <- function(x){
##---
}
这种功能是什么做的?
答案 0 :(得分:4)
(发布回答问题的答案)
正如@joran所指出的,函数fortify.MSM.lm
实际上只是fortify
函数的一种方法,用于MSM.lm
类型的对象。这里使用的时期没有隐含的heirachy。在大多数情况下,R中的句点就像命名变量的任何其他字符一样;它与其他语言没有同样的意义。正如您已经看到的,少数例外之一是S3通用函数的命名方法。
所以你可以定义
my.fun <- function(x, ...) UseMethod("my.fun")
my.fun.data.frame <- function(x, ...) summary(x)
my.fun(mtcars)
所以名称my.fun.data.frame
。这些时段并不意味着什么,只是当您使用my.fun
类调用data.frame
时,R会查找名为"my.fun" + "." + "data.frame"
的函数。