2011-12-08 98 views
0
object1=Object.new 
object2=object1.clone 
puts object1==object2.prototype #this statement doesn't work! 

我們可以得到在紅寶石對象的原型(如JavaScript的.prototype)? 換句話說,如何獲取父對象?如何在ruby中獲取其對象的原型對象?

+0

我可能是唯一一個不知道JavaScript的Ruby程序員,但是你能簡要地描述一個對象的原型嗎?這是否意味着「這是我從中獲得最多方法的對象」? –

+0

對象的原型意味着它被克隆的對象。在上面的情況下,object1是object2的原型。 – TomCaps

回答

3

Ruby是一種基於類的面向對象的語言,而不是基於原型的一個。對象沒有原型,他們有類。

所以,答案是:不,你不能得到一個對象的原型,因爲你不能得到一些永遠不存在的東西。

+0

對象被克隆時,特徵類會發生什麼?本徵類是否被複制,還是指向第一個對象的本徵類以開始? –

+0

一個相當明確的方法(警告:使用邪惡的紅寶石!)在這裏:http://www.google.com/url?sa=t&rct=j&q=ruby%20prototype&source=web&cd=1&ved=0CFkQFjAA&url=http%3A%2F% 2Ft-aw.blogspot.com%2F2006%2F10%2Fprototype基於-ruby.html&EI = kjDxT4_eJ4yI8QSy2dD_AQ&USG = AFQjCNFTN20LKYNXR83AArt3PQq_hsV8fw&SIG2 = L3nKMor7-s35qfnLiJGtTA –