帮助文件称attributes()
为函数。它的语法看起来像一个函数调用。甚至class(attributes)
也将其称为函数。
但我发现我可以将某些内容分配给attributes(myobject)
,这似乎很不寻常。例如,我不能将任何东西分配给log(myobject)
。
那么像attributes()
这样的“函数”的正确名称是什么?还有其他类似的例子吗?如何区分它们与常规函数?(除了尝试supposedfunction(x)<-0
之外。)
最后,我猜attributes()
的实现覆盖了赋值运算符,以成为分配的目标。我是对的吗?是否有任何可用的指南告诉我们如何做到这一点?
attributes(x) <- c(...)
等同于\
attributes<-`(x, c(...))`。 - r2evans