मैं निम्न कार्य करने की कोशिश कर रहा हूँ:हास्केल - कैसे प्रकार कास्ट करें?
10 ** length xs * x
लेकिन मैं मिलता है:
(इंट फ्लोटिंग) `के उपयोग से उत्पन्न होने वाली ** '
मैं निम्न कार्य करने की कोशिश कर रहा हूँ:हास्केल - कैसे प्रकार कास्ट करें?
10 ** length xs * x
लेकिन मैं मिलता है:
(इंट फ्लोटिंग) `के उपयोग से उत्पन्न होने वाली ** '
आप के लिए कोई उदाहरण एक अभिन्न शक्ति को बढ़ाने के लिए ^
का उपयोग कर सकते हैं। यहां फ्लोट में कनवर्ट करने की कोई आवश्यकता नहीं है।
धन्यवाद, यह काम करता प्रतीत होता है :) – MMM
@sepp2k's answer के अलावा, यदि आपको किसी भी तरह से वास्तव में किसी अन्य प्रकार के न्यूम से पूर्णांक में कनवर्ट करने की आवश्यकता है, तो fromIntegral
का उपयोग करें।
-- # fromIntegral :: (Integral a, Num b) => a -> b
10 ** fromIntegral (length xs) * x
ओह, और बस बहुत स्पष्ट होना: सामान्य रूप से, आप हास्केल में "कास्ट" प्रकार नहीं बनाते हैं। प्रकारों के बीच परिवर्तित करने के कई तरीके हैं, लेकिन सामान्य अर्थ में कोई "प्रकार कास्ट" नहीं है। –