नहीं, nor
किसी भी उच्च स्तरीय मुख्यधारा की प्रोग्रामिंग भाषा में कोई ऑपरेटर नहीं है ।
क्यों ?
मुख्य रूप से क्योंकि इसे पढ़ना मुश्किल है:
- इसके लिए कई ऑपरेटरों के मानसिक संयोजन की आवश्यकता होती है (" और नहीं ", या अधिक साहित्यिक शैली में: " आगे नकारात्मक ", " प्रत्येक असत्य " )
- इसका अर्थ
not
पहले ऑपरेंड पर एक निहितार्थ है , लेकिन पाठक केवल इसे बाद में समझते हैं
- यह मानव भाषाओं से अलग है, जो पहले संचालन पर एक स्पष्ट नकार का उपयोग करती है, जैसे " न तो x और न ही y ", " न ही x और न ही y "। तो एक पाठक
(x nor y)
के (x and not y)
बजाय के साथ भ्रमित हो सकता है((not x) and (not y))
- कुछ पाठक स्पष्ट
or
अर्थ के साथ भ्रमित होते हैं जो लागू नहीं होता है
लेकिन यह हार्डवेयर में इतना आम है ...
nor
एक प्राथमिक हार्डवेयर गेट है जिसका उपयोग अन्य सभी तार्किक द्वार बनाने के लिए किया जा सकता है। तो कोई यह तर्क दे सकता है कि अन्य सभी तार्किक ऑपरेटर संयोजन हैं और nor
सबसे सरल प्राथमिक तार्किक ऑपरेटर है।
हालांकि, हार्डवेयर के लिए जो सच है वह मनुष्यों के लिए जरूरी नहीं है। और यह हार्डवेयर स्तर पर लोकप्रियता के बावजूद, कुछ मुख्यधारा सीपीयू NOR
अपने कोडांतरक अनुदेश सेट (जैसे x86 ) में भी प्रदान नहीं करते हैं ।
वैकल्पिक
पठनीयता मायने रखती है। और कभी-कभी अन्य तरीकों से इसमें सुधार किया जा सकता है।
मौजूदा ऑपरेटरों का उपयोग
उदाहरण के लिए:
if x not in [1,2] // use of 'in' or 'not in' operator instead of x!=1 and x!=2
शर्तों का आदेश
if x==1 or x==2
action A
else
action B
के बजाय
if x!=1 and x!=2
action B
else
action A
लूप तक का उपयोग
कुछ भाषाएं लूप निर्देश भी प्रदान करती हैं जो आपको while
या तो until
"सकारात्मक" तरीके से चुनने की अनुमति देती हैं। ये निर्देश उदाहरण के लिए कर रहे हैं until c do ...
में गहरे लाल रंग का , do until c ...
में vb , या repeat ... until c
में पास्कल और उसके वंश।
उदाहरण के लिए:
Until (x==1 or x==2) do
...
के बराबर है:
While (x!=1 and x!=2)
...
एक फंक्शन करें
अब यदि आप अभी भी nor
वाक्य रचना पसंद करते हैं, तो आप एक फ़ंक्शन को परिभाषित कर सकते हैं, लेकिन केवल तभी जब आप शॉर्टकट होने की उम्मीद न करें:
If ( nor(x,y) ) // attention, x and y will always be evaluated
...
ऑपरेटर पर फ़ंक्शन का एक पठनीयता लाभ है, क्योंकि पाठक तुरंत समझता है कि नकार सभी तर्कों पर लागू होता है। कुछ भाषाओं में आप एक फ़ंक्शन को चर की संख्या के साथ परिभाषित कर सकते हैं।
or
और!
, और क्योंकि डबल नकारात्मक शायद ही कभी उपयोग किए जाते हैं - ज्यादातर लोग उन्हें पढ़ने के लिए विशेष रूप से कठिन पाते हैं।