2011-01-28 16 views
5

Cehaletimi bağışla, ama burada bir şey eksik olmalıyım. Ben Object sınıfta Ruby 1.8.7 instance_eval belgelerine bulabilirsiniz, ama sadece 1.9.2 için hiçbir yerde bulamıyorum. Kullandığımdan beri işlevselliğin hala desteklendiğini biliyorum. Taşınmış bir gizli ebeveyn sınıfı var mı?Örnek_eval, Ruby 1.9.2'de nerede tanımlanır?

cevap

5

Bunu kendisi hiçbir üst sınıfı vardır BasicObject olduğunu göreceksiniz Object.superclass Bunu yaparsanız. BasicObject.public_methods kullanmak, orada instance_eval'un tanımlandığını ortaya çıkarır. BasicObject üzerinde yöntemleri için

Orada does not seem to be any documentation.

+1

Ahh anlıyorum. Belgelerin mevcut olmaması için belirli bir neden var mı? 'Instance_eval' kullanımını caydırmaya çalışıyorlar mı? Ayrıca 'method_missing'in herhangi bir yerde belgelenmediğini fark ettim. Ayrıca, BasicObject için gerçek belgeler burada: http://ruby-doc.org/core-1.9/classes/BasicObject.html. – elmt

+2

Bu bağlantıyı da fark ettim, ancak /core-1.9 altındaki dokümanlar 1.9, çekirdek/çekirdek altındaki dokümanlar ise en son (1.9.2). 'BasicObject' tanımı [object.c] 'den (https://github.com/ruby/ruby/blob/v1_9_0_0/object.c) [class.c]' ye (https: // github) taşınmış gibi görünüyor. .com/ruby ​​/ ruby ​​/ blob/ruby_1_9_2/class.c) 1.9'dan 1.9.2'ye geçişte, böylece çekirdek-1.9'da görebileceğiniz az miktarda belgelere sahip olabilir. – mikej