में पर्यावरण चर को कैसे पढ़ा जाए, जावा में, पर्यावरण चर पढ़ने को System.getenv()
के साथ किया जाता है।स्कैला
क्या स्कैला में ऐसा करने का कोई तरीका है?
में पर्यावरण चर को कैसे पढ़ा जाए, जावा में, पर्यावरण चर पढ़ने को System.getenv()
के साथ किया जाता है।स्कैला
क्या स्कैला में ऐसा करने का कोई तरीका है?
स्काला 2.9 जब से तुम एक ही प्रभाव के लिए sys.env
उपयोग कर सकते हैं:
scala> sys.env("HOME")
res0: String = /home/paradigmatic
मुझे लगता है कि जावा के बजाय स्काला एपीआई का उपयोग करने अच्छा है। जावा एपीआई पर निर्भरताओं को कम करने के लिए जेवीएम (.NET, जावास्क्रिप्ट, मूल, इत्यादि) की तुलना में अन्य प्लेटफ़ॉर्म पर स्कैला को संकलित करने के लिए वर्तमान में कई प्रोजेक्ट हैं, जो आपके कोड को अधिक पोर्टेबल बना देगा।
एक ही रास्ता:
scala> System.getenv("HOME")
res0: java.lang.String = /Users/dhg
यह काम करता है का उपयोग कर सकते हैं, लेकिन यह वास्तव में सबसे अच्छा विकल्प – iwein
नोट नहीं है: अन्य उत्तर की अनदेखी न करें - उन्हें जवाहरात हैं ! –
जावा के बजाय स्कैला एपीआई का उपयोग करके किया जाना चाहिए। –
एक वस्तु है:
scala.util.Properties
इस तरीके कि पर्यावरण की जानकारी प्राप्त करने के लिए इस्तेमाल किया जा सकता का संग्रह है, सहित
scala.util.Properties.envOrElse("HOME", "/myhome")
मैं गुण भी पसंद करूंगा। यह विकल्प पुनर्प्राप्त करने की अनुमति देता है, और आमतौर पर प्रयुक्त गुणों के लिए नाम हैं। – ppopoff
तो Lightbend के विन्यास पुस्तकालय Play2 में डिफ़ॉल्ट रूप से प्रयोग किया जाता है (और अक्का) तो आप उपयोग कर सकते हैं
foo = "default value" foo = ${?VAR_NAME}
सिंटैक्स foo ओवरराइड करने के लिए अगर कोई पर्यावरण चर VAR_NAME मौजूद है। https://github.com/typesafehub/config#optional-system-or-env-variable-overrides
में अधिक जानकारी सभी वातावरण चर मुद्रित करने के लिए, आप
System.getenv.forEach((name, value) => println(s"$name: $value"))
यह संभवतः 'sys.env.get ("VARIABLE") का उपयोग करने के लिए बेहतर अभ्यास है, जो उस चर को गायब होने पर त्रुटि को फेंकने के बजाय आपको' विकल्प [स्ट्रिंग] 'देगा। –
@ क्रिस्टियनव्रेबी मैं इसे ज्यादातर मामलों में भी पसंद करूंगा। लेकिन 'sys.env' सिर्फ एक 'मानचित्र' है। आप जो भी विधि आपके लिए उपयुक्त हो सकते हैं। – paradigmatic