मैं हास्केल सीख रहा हूं। मैंने फ़ंक्शन बनाया है जो बेस 'बी' में 'एन' तक गुणा तालिका लौटाता है। संख्या 'डब्ल्यू' अंकों के लिए गद्देदार हैं। अंतिम चरण के रूप में, मैं स्वचालित रूप से 'डब्ल्यू' की गणना करना चाहता हूं। यह संकलन क्यों नहीं करता है?कोई उदाहरण नहीं (फ़्लोटिंग इंट)
-- Number of digits needed for the multiplication table n*n in base 'base'
nOfDg :: Int -> Int-> Int
nOfDg n base = 1 + floor (logBase base (n*n))
त्रुटि:
No instance for (Floating Int)
arising from a use of `logBase' at C:\haskel\dgnum.hs:4:24-38
Possible fix: add an instance declaration for (Floating Int)
In the first argument of `floor', namely `(logBase b (n * n))'
In the second argument of `(+)', namely `floor (logBase b (n * n))'
In the expression: 1 + floor (logBase b (n * n))
मुझे लगता है कि आपको '(इंटेग्रल बेस) से भी आवश्यकता होगी। –
@ जेसन: उस प्रकार के साथ दान ने उस समारोह को नहीं दिया, आप नहीं करेंगे। – Chuck
हाँ, इस पर निर्भर करता है कि आप इसका उपयोग कैसे करना चाहते हैं। या तो ऐसा करें जैसे कि मेरे पास टाइप हस्ताक्षर बदलने के लिए ठीक है, या अगर एंडी का संस्करण नहीं है तो इसका उपयोग करें। –