पार्सर अस्पष्टता से बचने के लिए विभिन्न वाक्य रचनात्मक विकल्पों को प्राथमिकता देता है।
+
बाइनरी अतिरिक्त ऑपरेटर और यूनरी "सकारात्मक" ऑपरेटर दोनों है। 5 + b
इस प्रकार दो तर्कों के अतिरिक्त आवेदन है; लेकिन +b
कुछ ऑपरेटर b
पर लागू सकारात्मक ऑपरेटर है।
इस प्रकार
let ab a b = a 5 + b
के रूप में पार्स किया जाता है:
let ab a b = (a 5) + b
a
साथ किया जा रहा है एक पूर्णांक लौटने तो यह b
में जोड़ा जा सकता एक पूर्णांक तर्क के एक समारोह; लेकिन
let ab2 a b = a 5 +b
पार्स किया गया है के रूप में:
let ab2 a b = a (5) (+b)
a
, दो तर्क के एक समारोह किया जा रहा है कोई रास्ता नहीं प्रकार यह रिटर्न का अनुमान लगाने के साथ साथ।
मेरे पास एफ # ऑपरेटर सूची नहीं है, इसलिए सही नाम नहीं देख सकता है। संपादित करें: ऐसा प्रतीत होता है कि मुझे सही ढंग से याद नहीं आया: Arithmetic Operators (F#) :-)।
अभिव्यक्ति '+ बी' में,' + 'को एक [यूनरी ऑपरेटर] (https://en.wikipedia.org/wiki/Unary_operation) (केवल' बी' तर्क के रूप में लेना) के रूप में व्याख्या किया जाता है। – Glorfindel