我正在寻找一个示例,其中函数名称中的点导致 R 的 Method Dispatch 选择错误的函数。一个自然的候选者似乎是内置函数,当应用于“test”类的对象时t.test()应该与它混淆。t()
然而奇怪的是,下面的代码实际上调用了转置函数,而不是t.test():
> x <- structure(cbind(1:4,2:5), class="test")
> class(x)
[1] "test"
> t(x)
[,1] [,2] [,3] [,4]
[1,] 1 2 3 4
[2,] 2 3 4 5
Run Code Online (Sandbox Code Playgroud)
这提出了两个问题:
t.test()调用,因为它应该是由于方法调度的规则所致?