मैं आर में समारोह on.exit
है, जो बहुत अच्छा है के बारे में पता कर रहा हूँ। यह अभिव्यक्ति चलाता है जब कॉलिंग फ़ंक्शन निकलता है, या तो सामान्य रूप से या त्रुटि के परिणामस्वरूप।क्या .exit() पर अभिव्यक्ति चलाने का कोई तरीका है, लेकिन केवल सामान्य होने पर, त्रुटि पर नहीं?
मैं चाहता क्या अभिव्यक्ति केवल बुला सामान्य रूप से कार्य करता है, तो रिटर्न चलाने के लिए के लिए है, लेकिन एक गलती की स्थिति में नहीं। मेरे पास कई बिंदु हैं जहां फ़ंक्शन सामान्य रूप से वापस आ सकता है, और कई बिंदु जहां यह असफल हो सकता है। क्या इसे करने का कोई तरीका है?
myfunction = function() {
...
on.exit(if (just exited normally without error) <something>)
...
if (...) then return(point 1)
...
if (...) then return(point 2)
...
if (...) then return(point 3)
...
return (point 4)
}
अच्छी सोच .. –
+1 मैंने इसके बारे में सोचा नहीं था। मेरा 'कुछ करें' 'ग्लोबलएएनवी 'में ध्वज स्थापित कर रहा है (एक बहुत असामान्य स्थिति जो उस दृष्टिकोण को वारंट करती है, वादा करता है!)। हर बार एक ही कोड की पुनरावृत्ति के कारण प्रत्येक 'फिर' दो कथन को बदसूरत लग रहा था, इसलिए 'on.exit' मार्ग। लेकिन एक समारोह में 'कुछ करो' लपेटना साफ है! –
euw! एकाधिक निकास पथ, बाहर निकलने वाले हैंडलर, और अब वैश्विक सेटिंग्स! डिज्कास्ट्रा उसकी कब्र में कताई होगी! – Spacedman