में ऑपरेटर प्राथमिकता मैं हास्केल में ऑपरेटर प्राथमिकता के नियमों के बारे में उलझन में हूं।हास्केल
*Main> 2 * 3 `mod` 2
0
इस की तुलना में अलग:
अधिक विशेष रूप से, ऐसा क्यों है?
*Main> 2 * mod 3 2
2
में ऑपरेटर प्राथमिकता मैं हास्केल में ऑपरेटर प्राथमिकता के नियमों के बारे में उलझन में हूं।हास्केल
*Main> 2 * 3 `mod` 2
0
इस की तुलना में अलग:
अधिक विशेष रूप से, ऐसा क्यों है?
*Main> 2 * mod 3 2
2
समारोह कॉल सघनतम बाँध, और इसलिए
2 * mod 3 2
रूप
2 * (mod 3 2)
एक ही है कि मन में रखो mod
संचालक के रूप में यहां इस्तेमाल किया जा रहा है के बाद से वहाँ कोई बैकटिक हैं।
अब, mod
का उपयोग इंफिक्स रूप में किया जाता है, इसकी 7 की प्राथमिकता है, जो (*)
भी है। के बाद से वे एक ही precendence है, और बाएं साहचर्य हैं, वे बस बाएं से दाएं पार्स किए जाते हैं:
(2 * 3) `mod` 2
व्याख्या करने के लिए धन्यवाद :) –
2 * 3 = 6 और फिर mod 2
= कोई शेष के साथ 3 ... इसलिए 6 mod 2 = 0
आपकी जवाब है। अपने दूसरे मामले में आप 2 * कर रहे हैं mod 3 2
का परिणाम जो 2 * 1 = 2
है। इसलिए आपका उत्तर 2
है .... आपका ऑपरेटर प्राथमिकता वही बना हुआ है, आपने बस इसे व्यवस्थित किया है ताकि उत्तर तदनुसार व्यक्त किए गए हों।
धन्यवाद! –
यह भी देखें [प्रस्तावना ऑपरेटर precedences] (http://stackoverflow.com/a/30288988/3041008) जवाब देने के लिए – mucaho