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

ruby​​でオブジェクトのプロトタイプ(javascriptの.prototypeなど)を取得できますか? つまり、親オブジェクトを取得する方法は?ruby​​でオブジェクトのプロトタイプオブジェクトを取得するには?

+0

私はおそらくJavaScriptを知らない唯一のRubyプログラマーですが、オブジェクトのプロトタイプを簡単に説明できますか?それは「これが私の方法の大部分を持っているオブジェクトです」という意味ですか? –

+0

オブジェクトのプロトタイプは、それがクローン化されたオブジェクトを意味します。上記の場合、object1はobject2のプロトタイプです。 – TomCaps

答えて

3

Rubyは、クラスベースのOO言語であり、プロトタイプベースではありません。オブジェクトにはにはのプロトタイプがありません。これらのクラスにはクラスがあります。

答えは:いいえ、オブジェクトのプロトタイプを取得することはできません。なぜなら、最初に存在しなかったことがないからです。

+0

オブジェクトが複製されたときにeigenclassはどうなりますか?固有クラスがコピーされるか、最初のオブジェクトの固有クラスを指していますか? –

+0

かなり明確なアプローチ(警告:evil ruby​​を使用しています):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-based-ruby.html&ei = kjDxT4_eJ4yI8QSy2dD_AQ&usg = AFQjCNFTN20LKYNXR83AArt3PQq_hsV8fw&sig2 = L3nKMor7-s35qfnLiJGtTA –

関連する問題