2011-01-28 11 views
5

मेरी अज्ञानता को क्षमा करें, लेकिन मुझे यहां कुछ याद आना चाहिए। मैं Object कक्षा में रूबी 1.8.7 के लिए instance_eval के लिए प्रलेखन पा सकता हूं, लेकिन मुझे इसे 1.9.2 के लिए कहीं भी नहीं मिल रहा है। मुझे पता है कि कार्यक्षमता अभी भी समर्थित है क्योंकि मैं इसका उपयोग कर रहा हूं। क्या कोई गुप्त अभिभावक वर्ग है जिसे इसे स्थानांतरित कर दिया गया है?रुबी 1.9.2 में example_eval परिभाषित किया गया है?

उत्तर

5

यदि आप Object.superclass करते हैं तो आप देखेंगे कि BasicObject है जिसमें स्वयं कोई सुपरक्लास नहीं है। BasicObject.public_methods का उपयोग करके पता चलता है कि instance_eval को परिभाषित किया गया है।

BasicObject पर विधियों के लिए।

+1

आह मैं देखता हूं। क्या कोई विशेष कारण है कि दस्तावेज मौजूद नहीं है? क्या वे 'instance_eval' के उपयोग को हतोत्साहित करने की कोशिश कर रहे हैं? मैंने यह भी देखा कि 'method_missing' कहीं भी दस्तावेज नहीं है? इसके अलावा, BasicObject के लिए वास्तविक दस्तावेज यहां है: http://ruby-doc.org/core-1.9/classes/BasicObject.html। – elmt

+2

मैंने उस लिंक को भी देखा, लेकिन /core-1.9 के तहत दस्तावेज़ 1.9 के लिए हैं जबकि/कोर के अंतर्गत दस्तावेज़ नवीनतम (वर्तमान में 1.9.2) हैं। ऐसा लगता है कि 'BasicObject' की परिभाषा [object.c] (https://github.com/ruby/ruby/blob/v1_9_0_0/object.c) से [class.c] तक ले जाया गया है (https: // github .com/ruby ​​/ ruby ​​/ blob/ruby_1_9_2/class.c) 1.9 से 1.9.2 तक की चाल में ताकि आप दस्तावेज़ -8 9 में देख सकने वाले दस्तावेज़ों की छोटी मात्रा के लिए खाते हो सकें। – mikej

संबंधित मुद्दे