問題 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