जावा के पास प्लेटफ़ॉर्म-स्वतंत्र तरीके से उपयोगकर्ता की "होम" निर्देशिका प्राप्त करने के लिए विश्वसनीय System.getProperty("user.home")
है। रूबी में समतुल्य क्या है? मेरे पास खेलने के लिए एक विंडोज बॉक्स नहीं है, और मुझे लगता है कि फाइलनामों में टिल्ड्स पर भरोसा करना सबसे साफ तरीका नहीं है। क्या विकल्प हैं?रूबी में उपयोगकर्ता की होम निर्देशिका प्राप्त करने का क्रॉस-प्लेटफ़ॉर्म माध्यम है?
उत्तर
File.expand_path
विधि, टिल्ड (~
) विशेष रूप से इलाज के यूनिक्स सम्मेलन का उपयोग करता है ताकि ~
वर्तमान उपयोगकर्ता के घर निर्देशिका को संदर्भित करता है और ~foo
foo
घर निर्देशिका को दर्शाता है।
मुझे नहीं पता कि कोई बेहतर या अधिक बेवकूफ तरीका है, लेकिन File.expand_path('~')
आपको जाना चाहिए।
ENV["HOME"]
या ENV["HOMEPATH"]
आपको जो चाहिए वो देना चाहिए।
homes = ["HOME", "HOMEPATH"]
realHome = homes.detect {|h| ENV[h] != nil}
if not realHome
puts "Could not find home directory"
end
विंडोज पर यह सच है, है ना? – davetron5000
मेरा मानना है कि यह है: http://vlaurie.com/computers2/Articles/environment.htm –
@ davetron5000 यही मेरा कोड कर रहा है, 'होमपाथ' केवल विंडोज पर एक पर्यावरण चर है। –
रुबी 1.9 और इससे ऊपर के साथ आप Dir.home
का उपयोग कर सकते हैं।
यूनिक्स प्लेटफार्मों (लिनक्स, ओएस एक्स, आदि), ENV["HOME"]
, File.expandpath('~')
या Dir.home
सभी HOME
वातावरण चर पर भरोसा करते हैं पर स्थापित किया जा रहा। लेकिन कभी-कभी आप पाएंगे कि पर्यावरण चर सेट नहीं है - यदि आप स्टार्टअप स्क्रिप्ट से चल रहे हैं, या कुछ बैच शेड्यूलर से यह सामान्य है। आप इस स्थिति में हैं, तो आप अभी भी माध्यम से अपने सही होम निर्देशिका प्राप्त कर सकते हैं निम्नलिखित:
require 'etc'
Etc.getpwuid.dir
कहा करने के बाद कि, के बाद से इस सवाल का एक "पार मंच" विधि के लिए पूछ रहा है यह ध्यान दिया जाना चाहिए यह है कि विंडोज़ पर काम नहीं करेगा (Etc.getpwuid
nil
वापस लौटाएगा।) विंडोज़ पर, ENV["HOME"]
और ऊपर उल्लिखित विधियों पर काम करेगा, HOME
वैरिएबल सामान्य रूप से विंडोज़ पर सेट नहीं किया जा रहा है - स्टार्टअप पर, रूबी ENV["HOME"]
भर जाएगी विंडोज HOMEPATH
और HOMEDRIVE
पर्यावरण चर के आधार पर। यदि विंडोज HOMEDRIVE
और HOMEPATH
पर्यावरण चर सेट नहीं हैं तो यह काम नहीं करेगा। मुझे नहीं पता कि वास्तव में विंडोज वातावरण में कितना आम है, और मुझे विंडोज़ पर काम करने वाले किसी भी विकल्प के बारे में पता नहीं है।
पर ठीक काम करता है यह सही जवाब है। आदि मॉड्यूल के सूचक के लिए धन्यवाद। – ckruse
- 1. उपयोगकर्ता की होम निर्देशिका
- 2. डेबियन पैकेजिंग: उपयोगकर्ता होम निर्देशिका
- 3. पायथन में होम निर्देशिका कैसे प्राप्त करें?
- 4. पायथन में "होम निर्देशिका" खोजें?
- 5. रूबी पर रूबी में खाली अस्थायी निर्देशिका प्राप्त करने का सबसे अच्छा तरीका क्या है?
- 6. क्यूटी: विस्तारित ~ होम निर्देशिका
- 7. जेनकींस की होम निर्देशिका कैसे बदलें?
- 8. उपयोगकर्ता निर्देशिका का पथ प्राप्त करना
- 9. विंडोज कमांड प्रॉम्प्ट पर ~ (उपयोगकर्ता की होम निर्देशिका) के लिए विकल्प क्या है?
- 10. मैं सैंडबॉक्स वाले ऐप में प्रयोजन-सी में उपयोगकर्ताओं की होम निर्देशिका कैसे प्राप्त करूं?
- 11. लिनक्स बैश में टिल्ड का अर्थ (होम निर्देशिका नहीं)
- 12. रूबी मणि सूचीबद्ध है, लेकिन अभ्यस्त लोड (उपयोगकर्ता निर्देशिका में मणि, नहीं dir रूबी)
- 13. सक्रिय निर्देशिका से उपयोगकर्ता की समूह सदस्यता प्राप्त करें
- 14. उपयोगकर्ता के होम फ़ोल्डर में फ़ाइल को कैसे खोलें
- 15. सी # सक्रिय निर्देशिका: उपयोगकर्ता का डोमेन नाम प्राप्त करें?
- 16. आईफोन "होम स्क्रीन" से उपयोगकर्ता क्लिक की पहचान कैसे करें
- 17. सिमलिंक रिज़ॉल्यूशन के बिना पूर्ण पथ/उपयोगकर्ता को होम निर्देशिका में रखें
- 18. सी # में घर निर्देशिका का मार्ग प्राप्त करना?
- 19. आईआईएस साइट बदलें होम निर्देशिका w/Powershell
- 20. सक्रिय निर्देशिका में उपयोगकर्ता के समूह प्राप्त करना
- 21. एसडी कार्ड से (निर्देशिका पर) फ़ाइलों की सूची प्राप्त करने का एक अच्छा तरीका क्या है?
- 22. निर्देशिका में फ़ाइलों की गिनती प्राप्त करें
- 23. ऐप्स/होम निर्देशिका स्थान स्पॉटिफ़ाई (विंडोज़ स्थानीय विकास)?
- 24. उपयोगकर्ता निर्देशिका
- 25. क्या होम विजेट पर एनिमेट करने का कोई तरीका है?
- 26. सक्रिय निर्देशिका उपयोगकर्ता
- 27. एंड्रॉइड एप्लिकेशन का 'होम' डेटा डायरेक्टरी
- 28. बैच फ़ाइल में वर्तमान उपयोगकर्ता की निर्देशिका में कैसे बदलें
- 29. महाराज उपयोगकर्ता के घर निर्देशिका
- 30. रूबी निर्देशिका को हटाने
विंडोज पर यह सच है, क्या? दस्तावेज़ – davetron5000
Dir.home रूबी 1.9 में जोड़ने के रूप में इंगित नहीं करते हैं? http://redmine.ruby-lang.org/issues/show/1027 – codecraig
इस पृष्ठ पर सब कुछ काम करता है (कम से कम विंडोज 7 पर), लेकिन मुझे लगता है कि Dir.home और tilde का उपयोग करना सबसे अच्छा लगता है। – davetron5000