के साथ अपेक्षित प्रकार (Int -> Int -> Int) से मेल नहीं खा सकता है, मैं एक नौसिखिया हूं और मैं यूनी में प्रवेश करने से पहले हास्केल पर कुछ ट्यूटोरियल करने की कोशिश कर रहा हूं कंप्यूटर विज्ञान।वास्तविक प्रकार `(टी 0, टी 1, टी 2) '
मैं इस कार्यक्रम में फंस गया। इसमें तीन संख्याएं होती हैं और उन्हें आरोही क्रम में रखती है। क्या कोई मेरी मदद कर सकता है और मुझे बता सकता है कि क्या गलत है क्योंकि यह मुझे पागल कर रहा है? आपके समय के लिए धन्यवाद।
import Prelude hiding (min,max)
orderTriple :: (Int -> Int -> Int) -> (Int -> Int -> Int)
max :: Int -> Int -> Int -> Int
min :: Int -> Int -> Int -> Int
middle :: Int -> Int -> Int -> Int
max x y z
|(x>=y) && (x>=z) = x
|(y>=x) && (y>=z) = y
|otherwise = z
min d e f
|(d<=e) && (d<=f) = d
|(e<=d) && (e<=f) = e
|otherwise = f
middle g h i
| (g <= (max g h i)) && (g >= (min g h i)) = g
| (h <= (max g h i)) && (h >= (min g h i)) = h
| otherwise = i
orderTriple (a,b,c) = ((min a b c),(middle a b c),(max a b c))
त्रुटि है:
orderList.hs:23:13:
Couldn't match expected type `[Int -> Int -> Int]'
with actual type `(t0, t1, t2)'
In the pattern: (a, b, c)
In an equation for `orderTriple':
orderTriple (a, b, c) = [(min a b c), (middle a b c), (max a b c)]
आप वास्तव में कर रहे हैं का उपयोग एक अल्पविराम लेकिन एक टपल के तर्कों को अलग करने के (वास्तव में यह थोड़ा और अधिक परिष्कृत है), विश्वविद्यालय में हास्केल (या कुछ प्रकार का एफपी) करने जा रहा है? काश मैं अपने कार्यक्रम में मिला था! – MatrixFrog