या यह विधि सिर्फ एक अद्वितीय पूर्णांक इंगित करती है जिसमें प्रत्येक ऑब्जेक्ट होता है?क्या रूबी की object_id विधि स्मृति स्थान का संदर्भ देती है?
उत्तर
अच्छी तरह से, यह "रूबी" द्वारा आपके मतलब पर निर्भर करता है;) jruby में यह एक अद्वितीय पूर्णांक है जहां तक मैं कह सकता हूं।
इसके अलावा, संख्याओं जैसी चीजें स्मृति स्थान नहीं हैं। मैं सभी विवरण भूल जाता हूं और मुझे यकीन है कि कोई आपको उन्हें देगा।
irb(main):020:0> 1.object_id
=> 3
irb(main):021:0> (2-1).object_id
=> 3
"सामान्य" रूबी (एमआरआई 1.8.एक्स और 1.9.एक्स) में यह सिर्फ एक अद्वितीय मूल्य है।
यह भी IronRuby
में मामला है यह कई मापदंडों मूल्य, ऑब्जेक्ट प्रकार, स्मृति में जगह का एक संयोजन है।
अधिक पढ़ा जा सकता है here
यह स्मृति स्थान का प्रत्यक्ष संदर्भ नहीं है और "एन्कोडिंग" किसी विशेष रूबी कार्यान्वयन के लिए विशिष्ट है। यदि आप सी कोड पढ़ सकते हैं, तो आपको रूबी 1.8.6 स्रोत में gc.c
में rb_obj_id
और id2ref
विधियों को देखने के लिए निर्देशक मिल सकता है। आप Ruby Hacking Guide chapter 2 के आंशिक अनुवाद के "VALUE में एम्बेड किए गए ऑब्जेक्ट्स" अनुभाग में "एन्कोडिंग" के बारे में और भी पढ़ सकते हैं।
[एमआरआई स्रोत से लिंक।] (http: // rxr। whitequark.org/mri/source/gc.c#3158) –
यह ध्यान देने योग्य है कि आप का उपयोग कर वस्तु आईडी की एक रिवर्स देखने प्रदर्शन कर सकते हैं लायक है: बाईं ओर और साथ स्थानांतरित कर दिया
ObjectSpace._id2ref(0) #=> false
ObjectSpace._id2ref(1) #=> 0
ObjectSpace._id2ref(2) #=> true
ObjectSpace._id2ref(3) #=> 1
ObjectSpace._id2ref(4) #=> nil
- 1. बराबर क्या है "विधि संदर्भ" रूबी
- 2. क्या शब्दकोश की स्पष्ट() विधि स्मृति से सभी आइटम संबंधित वस्तुओं को हटा देती है?
- 3. SQL सर्वर में OBJECT_ID क्या करता है?
- 4. क्या मुझे रूबी में object_id विशेषता द्वारा ऑब्जेक्ट मिल सकता है या नहीं?
- 5. [] रूबी स्ट्रिंग की विधि
- 6. नियमित अभिव्यक्ति जो स्ट्रिंग में रिक्त स्थान की अनुमति देती है, न केवल रिक्त स्थान
- 7. एक्सकोड चेतावनी जो उपयोगकर्ता खाते का संदर्भ देती है जिसने तीसरी पार्टी लाइब्रेरी विकसित की है
- 8. रूबी को 'फ़ाइल' और रिश्तेदार स्थान की आवश्यकता है
- 9. रूबी की सॉर्ट विधि किस एल्गोरिदम का उपयोग करती है?
- 10. रूबी में विधि नाम की अधिकतम लंबाई क्या है?
- 11. रूबी में ऐरे # यूनिक विधि की समय जटिलता क्या है?
- 12. @classmethod में 'स्वयं' का क्या संदर्भ है?
- 13. क्या रूबी में सी की तरह "मुख्य" विधि है?
- 14. रेल की विधि 'to_sym' पर रूबी क्या करती है?
- 15. रूबी की सॉर्ट विधि में क्या चल रहा है?
- 16. रूबी बराबर स्मृति
- 17. क्या UIView की निकालें FromSuperView विधि UIView को स्मृति
- 18. जीएनयू धोखा देती है
- 19. रूबी में "कक्षा # विधि" का क्या अर्थ है?
- 20. डीएलआर की स्मृति पदचिह्न क्या है?
- 21. रेल attr_accessible: ऑब्जेक्ट बनाम: object_id
- 22. PHP में कंटेनर ऑब्जेक्ट की विधि का संदर्भ लें?
- 23. एक विधि है कि संदर्भ
- 24. गैस: बहुत से स्मृति संदर्भ
- 25. बिल्कुल "ड्राइंग संदर्भ" क्या है? Getcontext() विधि की भूमिका क्या है?
- 26. किसी विधि में परिभाषित स्थिरांक के लिए क्या स्मृति है?
- 27. रूबी की CGI.parse विधि के ठीक विपरीत?
- 28. वर्डप्रेस वर्गीकरण - यह कैसे पता चलता है कि object_id?
- 29. क्या रूबी वाक्यविन्यास के लिए कोई निश्चित संदर्भ दस्तावेज़ है?
- 30. फ़्लेक्स की ArrayCollection की युक्त विधि मेमोरी संदर्भ को क्यों देखती है?
Fixnum object_id बिट में जमा हो जाती है:
उदाहरण के लिए कम से कम महत्वपूर्ण बिट सेट, http://stackoverflow.com/questions/2402228/accessing-objects-memory-address-in-ruby/2402440#2402440 आपका '(2-1)' समझ में नहीं आता है, कोशिश करें इसके बजाय '(4711 >> 1) .object_id' –