विफल हो जाती है तो क्षमा करें, क्षमा करें यदि यह प्रश्न कोई समझ नहीं लेता है।कार्यक्रम प्रवाह - यदि कोई गणना
मैं वर्तमान में एक छोटा सा एप्लीकेशन लिखने के बीच में हूं और मैं एक साथ कुछ कार्यों को 'चेन' करना चाहता हूं जो व्यापक गणना करता है।
तो उदाहरण के लिए, मेरे पास एक ऐसा कार्य है जो एक webservice कहता है और परिणामस्वरूप hash-map
देता है, या nil
यदि कोई त्रुटि हुई या कुछ गलत हो गया। श्रृंखला में अगला कार्य नक्शा लेता है और कुछ और प्रसंस्करण करता है और फिर इसे अगले कार्य में भेजता है ... और इसी तरह।
बात यह है कि यदि पहला फ़ंक्शन विफल रहता है, तो यह अगले कार्य में nil
पास करने जा रहा है और यह एक नलपॉइंटर (या जो कुछ भी) फेंक देगा और मैं नहीं चाहता कि यह इस चरण तक पहुंच जाए। तो दूसरे शब्दों में मैं चाहता हूं कि श्रृंखला में एक आइटम विफल होने पर पूरी गणना विफल हो जाए।
उदा।
;successful computation = function1 returns W -> function2 returns X -> function3 returns Y -> function4 returns Z -> Z
;failed computation = function1 returns W -> function2 returns X -> function3 returns nil -> nil
(-> (function1 "http://webservice.com") (function2) (function3) (function4))
बात है मैं नहीं है शुरू में if(nil? arg)
के साथ अपने कार्यों में से प्रत्येक कचरा होने के लिए, आदर्श मैं एक अमूर्त है कि मेरे लिए इस बात का ध्यान रखना सकता है करना चाहते हैं चाहते हैं, लेकिन मैं वास्तव में कुछ भी नहीं पता कर रहा हूँ क्या Clojure
मैं स्काला शैली Option
प्रकार है कि या तो हो सकता है Some(value)
या None
लेकिन मैं अभी भी कूड़े के लिए इन चेकों के साथ अपने कोड शुरू में आवश्यकता होगी अपनाने का सोच रहा था
कोई भी विचार या में उपलब्ध है पर उत्तरों की वास्तव में सराहना की जाएगी
बहुत बढ़िया इस:
तो इस तरह इसे कहते जो मैं खोज रहा था, ऐसा लगता है कि उस पुस्तकालय में कुछ और अवशोषण हैं जो मेरे लिए भी बहुत उपयोगी साबित होंगे! – djhworld