दिलचस्प पोस्ट
FileNameExtensionFilter के साथ File.listFiles का उपयोग करना विंडोज बैच चर सेट नहीं करेंगे जावा में स्ट्रिंग के साथ इंट भी हो, जिसमें पत्र भी शामिल हैं I रोमन संख्या स्ट्रिंग को पूर्णांक मान कैसे परिवर्तित किया जाए? क्या विशिष्ट उपयोग के मामलों वेबसाकेट और लंबी-मतदान पर बोस के लिए कॉल करते हैं? डब्लूसीएफ सेवा को कैसे कॉल करें एसिंक्रोनस से पायथन में कोड रिपॉजिटरी के साथ काम करते समय संसाधनों के सापेक्ष पथ को कैसे संदर्भित करें क्या स्थिर तरीकों का एक बहुत बुरा उपयोग कर रहा है? क्या शफ़ल करने के लिए JavaScript Array.sort () विधि का उपयोग करना सही है? jQuery प्लगइन: कॉलबैक कार्यक्षमता को जोड़ने प्रशिक्षित टेन्सोर्फ्लो ग्राफ़ वाले प्रोटोबोफ फाइलें कैसे तैयार करें, इस पर एक उदाहरण है WCF क्लाइंट में त्रुटि WS- सुरक्षा के साथ एक्सिस 2 वेब सेवा उपयोगकर्ता नामटोकन पासवर्डडिजिस्ट प्रमाणन स्कीम एंड्रॉइड गतिविधि ने विंडो लीक ली है com.android.internal.policy.impl.phonewindow $ decorview समस्या क्रोम डेवलपर टूल में == $ 0 (डबल बराबर डॉलर शून्य) क्या होता है? स्ट्रिंग का उपयोग करके पायथन में श्वेतस्थान निकालें। Whitespace

आर – बूलीयन ऑपरेटर्स एंड एंड

आर भाषा की परिभाषा के अनुसार, और && && के बीच अंतर (संगत रूप से | और ||) यह है कि पूर्व में वेक्टर होता है, जबकि बाद में नहीं है।

इस साइट के अनुसार: http://www.stat.psu.edu/~dhunter/R/html/base/html/Logic.html मैंने अंतर "और" और "औरअल्लो" (तदनुसार "या" और "ओरेस्") … का अर्थ है कि यदि सभी को मूल्यांकन नहीं किया जाता है (यदि ए सच है तो A या B या C हमेशा सत्य होते हैं, तो ए सच है अगर मूल्यांकन करना बंद करें)

क्या कोई यहाँ प्रकाश डाला सकता है? इसके अलावा, क्या आर में एक एंडोस्लो और ओरेएस है?

वेब के समाधान से एकत्रित समाधान "आर – बूलीयन ऑपरेटर्स एंड एंड"

छोटे वाले वेक्टर होते हैं, अर्थात् वे वेक्टर को वापस कर सकते हैं, जैसे:

((-2:2) >= 0) & ((-2:2) <= 0) # [1] FALSE FALSE TRUE FALSE FALSE 

लंबे समय तक फार्म का मूल्यांकन प्रत्येक वेक्टर के केवल पहले तत्व का सही जांच करने के लिए होता है, इसलिए उपरोक्त देता है

 ((-2:2) >= 0) && ((-2:2) <= 0) # [1] FALSE 

सहायता पृष्ठ के अनुसार, यह प्रोग्रामिंग नियंत्रण प्रवाह के लिए "लंबे समय तक उपयुक्त होता है और आमतौर पर अगर क्लाजों में पसंदीदा होता है।"

तो आप लंबे रूपों का उपयोग तब करना चाहते हैं जब आप निश्चित हो कि वैक्टर लम्बाई हैं

आपको बिल्कुल निश्चित होना चाहिए कि आपके वैक्टर केवल लम्बाई 1 हैं, जैसे कि ऐसे मामलों में जहां वे फ़ंक्शन होते हैं जो केवल लंबाई 1 बुलियन देता है आप छोटे रूपों का उपयोग करना चाहते हैं यदि वैक्टर संभवत: लम्बी हैं> 1 इसलिए यदि आप पूरी तरह से निश्चित नहीं हैं, तो आपको पहले या तो जांचना चाहिए, या छोटे रूप का उपयोग करें और फिर नियंत्रण प्रवाह के बयानों में उपयोग के लिए इसे लंबाई में कम करने के लिए all और any का उपयोग करें, जैसे if

all और any कार्य का उपयोग वांछित तुलना के परिणाम पर अक्सर किया जाता है, यह देखने के लिए कि क्या सभी या कोई भी तुलना सही है, क्रमशः। इन कार्यों के परिणाम लंबाई 1 होने के लिए निश्चित हैं, इसलिए वे अगर क्लासेस में उपयोग के लिए उपयुक्त हैं, जबकि वेक्टरयुक्त तुलना के परिणाम नहीं हैं। (यद्यपि उन परिणामों में उपयुक्त इस्तेमाल किया जाएगा ifelse

एक अंतिम अंतर: && और || केवल कई शब्दों का मूल्यांकन करें जिनके लिए उन्हें जरूरी है (जो लगता है कि शॉर्ट सर्किट द्वारा क्या मतलब है) उदाहरण के लिए, यहाँ एक अपरिभाषित मान का उपयोग करके एक तुलना a ; अगर यह शॉर्ट सर्किट नहीं था, तो & रूप में | नहीं, यह एक त्रुटि देगी

 a # Error: object 'a' not found TRUE || a # [1] TRUE FALSE && a # [1] FALSE TRUE | a # Error: object 'a' not found FALSE & a # Error: object 'a' not found 

अंत में, " आर एंड इन्फॉर्म" नामक आर आर इन्फर्नो में खंड 8.2.17 देखें।

"शॉर्ट सर्किटिंग" के बारे में जवाब संभवत: भ्रामक है, लेकिन कुछ सच्चाई (नीचे देखें) आर / एस भाषा में, && और || केवल पहली तर्क में पहला तत्व का मूल्यांकन करें वेक्टर या सूची में सभी अन्य तत्वों को पहले वाले मान की परवाह किए बिना अनदेखा किया जाता है। उन ऑपरेटरों को if (cond) {} else{} निर्माण के साथ काम करने के लिए और नए वैक्टर के निर्माण के बजाय कार्यक्रम नियंत्रण को निर्देशित करने के लिए डिज़ाइन किया गया है | ऑपरेटरों को वैक्टर पर काम करने के लिए डिज़ाइन किया गया है, इसलिए वे सबसे लंबे समय तक तर्क की लंबाई के साथ बोलने के लिए "समानांतर" में लागू हो जाएंगे। यदि वैक्टर समान लंबाई नहीं हैं तो कम तर्क का रीसाइक्लिंग किया जाता है।

जब तर्क && या || मूल्यांकन किया जाता है, इसमें "शॉर्ट सर्किटिंग" है, यदि बाएं से दायां उत्तराधिकार में किसी भी मान निर्णायक है, तो मूल्यांकन समाप्त हो जाते हैं और अंतिम मूल्य वापस किया जाता है

 > if( print(1) ) {print(2)} else {print(3)} [1] 1 [1] 2 > if(FALSE && print(1) ) {print(2)} else {print(3)} # `print(1)` not evaluated [1] 3 > if(TRUE && print(1) ) {print(2)} else {print(3)} [1] 1 [1] 2 > if(TRUE && !print(1) ) {print(2)} else {print(3)} [1] 1 [1] 3 > if(FALSE && !print(1) ) {print(2)} else {print(3)} [1] 3 

&& और || जिन्हें "शॉर्ट सर्किटिंग" कहा जाता है इसका मतलब है कि वे दूसरे ऑपरेंड का मूल्यांकन नहीं करेंगे, यदि अभिव्यक्ति के मूल्य का निर्धारण करने के लिए पहले ऑपरेंड पर्याप्त है।

उदाहरण के लिए यदि पहले एंडएंड के लिए ऑपरेंड गलत है तो दूसरा ऑपरेंड का मूल्यांकन करने में कोई मतलब नहीं है, क्योंकि यह अभिव्यक्ति के मूल्य को बदल नहीं सकता ( false && true और false && false दोनों झूठी हैं)। उसी के लिए चला जाता है || जब पहला ऑपरेंड सही है

आप यहां इस बारे में और अधिक पढ़ सकते हैं: http://en.wikipedia.org/wiki/Short-circuit_evaluation उस पृष्ठ पर मौजूद तालिका से आप देख सकते हैं कि && VB.NET में AndAlso बराबर है, जो मुझे लगता है कि आप ।