यह वास्तव में परेशान है जब आप फ्यूचर्स या अभिनेताओं के प्रतिक्रिया के साथ कुछ अत्यधिक समवर्ती कोड लिखते हैं और आपने मैन्युअल रूप से ExecutionContext.Implicits.global
आयात किया है। कुछ अच्छे स्पष्टीकरण को खोजने का प्रयास किया गया है कि इसे डिफ़ॉल्ट पैरामीटर के रूप में क्यों नहीं बनाया गया है, जैसे doneStrategy
Scalaz Concurrent
में done है। कोड में उन सभी आयातों को सम्मिलित/निकालने के लिए यह बहुत उपयोगी होगा। या क्या मुझे कुछ तर्क याद आ रहा है?वैश्विक निष्पादन कॉन्टेक्स्ट भविष्य में ब्लॉक में डिफ़ॉल्ट पैरामीटर क्यों नहीं है?
6
A
उत्तर
10
सामान्य प्रवृत्ति उपयोगकर्ता को इम्प्लिकेट, अतिरिक्त ऑपरेटरों या डीएसएल जैसी चीजों को स्पष्ट रूप से आयात करने की आवश्यकता होती है। मुझे लगता है कि यह एक अच्छी बात है क्योंकि इससे चीजें कम "जादू" और अधिक समझ में आती हैं।
लेकिन कुछ भी आपको आपके कोड के लिए पैकेज-व्यापी निहित मूल्य को परिभाषित करने से रोकता है। ध्यान दें कि यदि निहित निष्पादन कॉन्टेक्स्ट हमेशा डिफ़ॉल्ट रूप से आयात किया गया था, तो आप ऐसा करने में सक्षम नहीं होंगे।
पैकेज वस्तु में:
package object myawsomeconcurrencylibrary {
implicit def defaultExecutionContext = scala.concurrent.ExecutionContext.global
}
एक ही पैकेज में किसी भी वर्ग में:
package myawsomeconcurrencylibrary
object Bla {
future { ... } // implicit from package object is used unless you explicitly provide your own
}
संबंधित मुद्दे
- 1. कॉन्टेक्स्ट-पैरामीटर
- 2. 'उपयोग' में कैच ब्लॉक क्यों नहीं है?
- 3. यूटीएफ -8 में डिफ़ॉल्ट क्यों नहीं है?
- 4. क्यों "numpy.asarray (...) में कोई नहीं" एक भविष्य
- 5. निष्पादन थ्रेड के कॉन्टेक्स्ट
- 6. क्या मुझे डिफ़ॉल्ट निष्पादन कॉन्टेक्स्ट को ओवरराइड करना चाहिए?
- 7. अंत में ब्लॉक क्यों कोड निष्पादित नहीं करता है?
- 8. अंत में ब्लॉक में प्रतीक्षा क्यों नहीं है?
- 9. यह डिफ़ॉल्ट टेम्पलेट पैरामीटर क्यों अनुमति नहीं है?
- 10. सी ++ भविष्य में "नहीं" (!) कैसे है?
- 11. मैं std :: भविष्य के पैरामीटर में संदर्भ का उपयोग क्यों नहीं कर सकता
- 12. आर में एलएस() वैश्विक वैरिएबल क्यों नहीं दिखाता है?
- 13. इस मामले में वैश्विक कीवर्ड की आवश्यकता क्यों नहीं है?
- 14. एमपीआई वैश्विक निष्पादन समय
- 15. क्यों वैश्विक कार्य में शून्य है?
- 16. मैं पायथन में वैश्विक चर सेट क्यों नहीं कर सकता?
- 17. एक्सकोड - स्टोरीबोर्ड में डिफ़ॉल्ट वैश्विक फ़ॉन्ट बदलें
- 18. क्यों सेटटाइम फ़ंक्शन निष्पादन में देरी नहीं करता है?
- 19. क्या एनयूएलएल में ब्लॉक पैरामीटर में पास करना ठीक है?
- 20. एडा में कोई एकाधिक या ब्लॉक टिप्पणी क्यों नहीं है?
- 21. लूआ वैश्विक चर के लिए डिफ़ॉल्ट क्यों है?
- 22. जावा में पैरामीटर के रूप में आप निष्पादन योग्य ब्लॉक को कैसे पास करते हैं?
- 23. एक निहित निष्पादन कॉन्टेक्स्ट नहीं मिला। आप स्प्रे स्केला
- 24. निष्पादन() कथन के माध्यम से किसी फ़ंक्शन में वैश्विक चर नहीं बदल सकता है?
- 25. जावास्क्रिप्ट ब्लॉक स्क्रिप्ट निष्पादन
- 26. भविष्य की पुनर्प्राप्ति अपवाद क्यों नहीं लेती?
- 27. डिफ़ॉल्ट टेम्पलेट पैरामीटर: संकलक टेम्पलेट तर्क निर्दिष्ट नहीं करने के बारे में शिकायत क्यों करता है?
- 28. बार-बार पैरामीटर के साथ स्कैला अनुभाग में डिफ़ॉल्ट तर्कों की अनुमति क्यों नहीं है?
- 29. सी # डिफ़ॉल्ट पैरामीटर के रूप में टाइप प्रकार क्यों नहीं देता है?
- 30. डिफ़ॉल्ट पैरामीटर क्यों काम करते हैं सी ++ में अग्रेषित नहीं किया जा सकता है?