Next: , Previous: Basic types, Up: Objects



2.2 属性

除了 NULL,所有对象有一个或多个相关属性。 属性以列表形式保存,其中所有元素都有名字。 属性列表可以通过 attributes 得到或通过 attributes<- 设定。 单个的属性分量可以通过 attrattr<-访问。

一些属性有特别的访问函数 (如和因子相关的 levels<-),但这些只在可用的情况下 才能使用。为了隐藏实现细节,它们可以进行一些额外的操作。 R 尝试拦截对含有特别属性的 attr<-attributes<- 的调用,以强迫进行一致性的检验。

矩阵和数组是含有属性dim及可选属性dimnames的简单向量。

属性用于实现 R 里面的类结构。 如果一个对象有一个class属性, 那么该属性将会在求值过程中被检验。 R的类结构会在 Object-oriented programming 部分仔细描述。