问题 R是否包含引用对象的概念。创建对象的引用
在python中,相同的运算符实际上是一个引用副本。 例如:
>> a = [1,2,3]
>> b = a
>> b[1] = 10
>> a
[1, 10, 3]
或C++
vector a(3);
a[1] = 1;
vector& b = a;
b[1] = 10;
// now a[1] = 10
问题 R是否包含引用对象的概念。创建对象的引用
在python中,相同的运算符实际上是一个引用副本。 例如:
>> a = [1,2,3]
>> b = a
>> b[1] = 10
>> a
[1, 10, 3]
或C++
vector a(3);
a[1] = 1;
vector& b = a;
b[1] = 10;
// now a[1] = 10
是,该功能存在于R,虽然我从来没有用它自己。参考类(或者有时称为R5类)具有这种行为。相当详细的文档在下面的链接,以及示例一起
http://www.inside-r.org/r-doc/methods/ReferenceClasses
上有SE它链接到这可能包含更多的例子
你应该各种演示等问题看参考课程,但你也可以使用简单的旧环境:
> a=new.env()
> a$data=c(1,2,3)
> b=a
> b$data
[1] 1 2 3
> a$data[1]=99
> b$data
[1] 99 2 3
a
和b
都是一样的环境:
> a
<environment: 0xa1799fc>
> b
<environment: 0xa1799fc>
所以他们的内容是相同的对象。
我认为其他一些R OO系统(R.oo,proto?)使用这样的环境来实现OO对象和方法。
所以,虽然你可以只是做到这一点,像这样的距离效果可能会导致很难找到错误,而你可能不应该这样做。
请停止给他们打电话R5。 R核心,编写S3,S4或参考类的人,不会使用已经在R内部部署的另一个项目的术语。这是我们拉开的我们的笑话;不幸的是,哈德利将其延续下来。让我们停止这个。 – 2013-02-10 15:54:59