मान लीजिए कि मैं अपना खुद का ताजा रूबी संकलित करता हूं (एमआरआई 1.9.3), डिफ़ॉल्ट LOAD_PATH क्या है, और इसकी गणना कैसे की जाती है?डिफ़ॉल्ट रूबी LOAD_PATH निर्धारित कैसे किया जाता है?
उत्तर
मेरी मशीन पर, प्रारंभिक लोड पथ इस तरह दिखता है: grep
साथ
$ ruby -e 'puts $LOAD_PATH'
/Users/matt/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1
/Users/matt/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/x86_64-darwin10.8.0
/Users/matt/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby
/Users/matt/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/vendor_ruby/1.9.1
/Users/matt/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/vendor_ruby/1.9.1/x86_64-darwin10.8.0
/Users/matt/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/vendor_ruby
/Users/matt/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1
/Users/matt/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/x86_64-darwin10.8.0
सशस्त्र, रूबी स्रोत की जांच definition of ruby_initial_load_paths[]
in version.c
की ओर जाता है (इस रूबी 1.9.3 पर है)। इनमें से पहला लागू होता है (न तो NO_INITIAL_LOAD_PATH
या RUBY_SEARCH_PATH
सेट किया गया है) RUBY_SITE_LIB2
है। कि परिभाषा we see ऊपर परिभाषित करता है को देखते हुए:
#define RUBY_SITE_LIB2 RUBY_SITE_LIB "/"RUBY_LIB_VERSION
और in turn: परिभाषित करता है की इस श्रृंखला के बाद
#define RUBY_SITE_LIB RUBY_LIB_PREFIX"/site_ruby"
, यह स्पष्ट हो जाता है कि इस से ऊपर मेरी लोड पथ में पहली प्रविष्टि से मेल खाती है। इसी प्रकार अन्य स्थिरांक जो इस चर में जाते हैं, अन्य लोड पथ प्रविष्टियों से मेल खाते हैं।
ruby_initial_load_paths[]
परिवर्तनीय ruby_init_loadpath_safe()
in ruby.c
में उपयोग किया जाता है, जहां वास्तविक लोड पथ प्रक्रिया के लिए स्थापित किया जाता है।
तो आपके प्रश्न का उत्तर यह है कि प्रारंभिक लोड पथ कुछ #define
एस के साथ संकलित समय पर सेट किया गया है, निर्माण के अनुसार कॉन्फ़िगर किया गया है।
आपका संकलन * nix आधारित सिस्टम पर एक lib निर्देशिका बनाने यह आम तौर पर है
/usr/lib/ruby/X.Y.Z
X.Y.Z अपने माणिक सी एपीआई संस्करण की संस्करण संख्या का प्रतिनिधित्व करता है।
- 1. $ LOAD_PATH (रूबी)
- 2. प्रोसेस आकार कैसे निर्धारित किया जाता है?
- 3. डिफ़ॉल्ट बाधाओं को अनदेखा किया जाता है
- 4. ढेर के नीचे कैसे निर्धारित किया जाता है?
- 5. एक प्रारंभ ब्लॉक का मूल्य निर्धारित कैसे किया जाता है?
- 6. जोड़ें $ LOAD_PATH बाह्य
- 7. ASP.NET मल्टीथ्रेड कैसे किया जाता है?
- 8. डिफ़ॉल्ट रूप से DoubleBuffered को अक्षम क्यों किया जाता है?
- 9. ^रूबी में किस लिए प्रयोग किया जाता है?
- 10. डिफ़ॉल्ट रूप से _GNU_SOURCE परिभाषित क्यों किया जाता है और इसे कैसे बंद किया जाए?
- 11. रुबी - $ LOAD_PATH में एक निर्देशिका जोड़ना - यह क्या करता है?
- 12. कैसे ConcurrentDictionary का उपयोग किया जाता है और इसे क्रमबद्ध कैसे किया जाता है?
- 13. रूबी पर रूबी में निष्पादन के दौरान नियंत्रक चर के मान को कैसे निर्धारित किया जाए?
- 14. एसएमपी पर हस्तक्षेप कैसे किया जाता है?
- 15. ओपनआईडी कैसे कार्यान्वित किया जाता है?
- 16. ImmutableObjectAttribute का उपयोग कैसे किया जाता है?
- 17. एप्लिकेशन वर्चुअलाइजेशन कैसे कार्यान्वित किया जाता है?
- 18. बिगडिसीमल कैसे कार्यान्वित किया जाता है?
- 19. लेआउट का उपयोग कैसे किया जाता है?
- 20. लेक्सिकल स्कोपिंग कैसे कार्यान्वित किया जाता है?
- 21. "कॉन्स्ट" कैसे कार्यान्वित किया जाता है?
- 22. ग्रुप द्वारा काम कैसे किया जाता है?
- 23. std :: tuple कैसे कार्यान्वित किया जाता है?
- 24. pthread_join कैसे कार्यान्वित किया जाता है?
- 25. jQuery इंतजार किया जाता है
- 26. HttpModules के लिए निष्पादन का आदेश कैसे निर्धारित किया जाता है?
- 27. कैसे खारिज करें पता करेंModalViewControllerAnimated शुरू किया जाता है और यह भी किया जाता है?
- 28. पाइथन में एक जंजीर शब्दकोश .get() क्यों एक डिफ़ॉल्ट रूप से प्रदान किया जाता है जब डिफ़ॉल्ट प्रदान नहीं किया जाता है?
- 29. असेंबली स्तर में वापसी मूल्य कैसे लागू किया जाता है?
- 30. System.Drawing.Graphics के डिफ़ॉल्ट कन्स्ट्रक्टर को कैसे हटाया जाता है?
नहीं, ऐसा नहीं है, संस्करण संख्या रूबी सी एपीआई संस्करण का प्रतिनिधित्व करती है –