मेरा मानना है कि यह PowerShell टीम द्वारा किए गए डिज़ाइन निर्णय के लिए PowerShell वापसी मूल्यों के कारण आश्चर्य से बचने के लिए किया गया था। कई सी/सी # लोग निम्नलिखित फ़ंक्शन को केवल आउटपुट 1 (0,1) तक उम्मीद करेंगे।
function foo {
$i = 0
$i++
$i
}
तो बयान रूप $i++
$ i का नहीं उत्पादन मूल्य से पहले ही वृद्धि की जाती है करता है। हो जाएगा ताकि उत्पादन @ (0,1) आपको लगता है कि व्यवहार चाहते हैं, PowerShell आप वेतन वृद्धि (या घटती) बयान सीधे एक अभिव्यक्ति उदा .:
function foo {
$i = 0
($i++)
$i
}
अंदर डाल कर उस व्यवहार प्राप्त करने के लिए अनुमति देता है।
ब्रूस पेटेट Windows PowerShell in Action 2nd Edition के अध्याय 5 में इस पर चर्चा करता है। वृद्धि और कमी ऑपरेटर "शून्ययोग्य बयान" हैं। पुस्तक से उद्धरण:
असल में, इसका मतलब है कि कथन के रूप में उपयोग किए जाने वाले कुछ प्रकार के भाव प्रदर्शित नहीं होते हैं। शून्ययोग्य बयानों में असाइनमेंट कथन और वृद्धि/कमी ऑपरेटर शामिल हैं। जब अभिव्यक्ति में वृद्धि और कमी का उपयोग किया जाता है, तो वे एक मान वापस करते हैं, लेकिन जब वे स्टैंडअलोन कथन के रूप में उपयोग किए जाते हैं, तो वे कोई मूल्य नहीं लौटाते हैं।
स्रोत
2012-01-23 22:05:45
ओह लड़का आपको समुदाय इस पर जा रहा है! :-) –