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?
5
A
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
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
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