यदि मैं ऐसी परिस्थिति में हूं जहां मुझे अनुक्रम में बाहरी आदेश निष्पादित करने की आवश्यकता है, तो सबसे अच्छा समाधान क्या है?हास्केल: सख्त अनुक्रम में बाहरी आदेशों का निष्पादन करें
उदाहरण के लिए, मेरे पास दो आदेश हैं "स्नैपशॉट करें" और "बैकअप स्नैपशॉट" दूसरा पहला पूरा होने तक शुरू नहीं हो सकता है। यदि मैं व्यवस्थित रूप से उन दो आदेशों को एक सिंटैक्स में चिपकाता हूं तो उन्हें एक के बाद एक निष्पादित किया जाएगा या क्या मुझे मैन्युअल रूप से जांचना होगा और सुनिश्चित करना होगा कि पहला पूरा हो गया है?
पुस्तिका पूरा होने की जांच के लिए, प्रणाली "और" runCommand "कार्यों" मैं पूरी तरह बीच का अंतर समझ में नहीं आता है और उनके बाहर निकलने के कोड की जांच?
"यह काफी" प्रणाली "या rawSystem उपयोग करने के लिए है। कर सकते हैं कोई मुझे यह स्पष्ट करता है। मैं केवल देख सकता हूं कि वे अलग-अलग मान वापस लौटते हैं: बाहर निकलने वाले कोड बनाम प्रक्रिया संभाल। कोई अन्य अंतर?
क्या मुझे उपर्युक्त अनुक्रम के लिए काम करने के लिए "रनकॉमैंड" का उपयोग करने की आवश्यकता होगी? क्या मुझे कॉल करने की ज़रूरत है प्रक्रिया संभाल पर प्रतीक्षा करें?
धन्यवाद।
मेरे लिए यह स्पष्ट करने के लिए धन्यवाद।समझ में आता है। –
आपके उदाहरण में, आप दूसरे प्रोग्राम को चलाने से पहले सफलतापूर्वक समाप्त होने वाले पहले प्रोग्राम को कैसे चेक करते हैं? –
@ r.sendecky: 'ExitSuccess <- system" स्नैपशॉट बनाता है "' system' कॉल के परिणाम पर एक पैटर्न मिलान करता है - यह सुनिश्चित कर लें कि यह 'ExitSuccess' लौटाता है। यदि पैटर्न मिलान विफल रहता है, तो [आईओ की 'असफल' कहा जाता है] (http://en.wikibooks.org/wiki/Haskell/do_Notation#Translating_the_bind_operator)। – rampion