मैं वर्तमान में हूँ की कोशिश कर जानने के लिए तह.
लेकिन का उपयोग कर के बजाय पूर्वनिर्धारित कार्यों मैं का उपयोग करना चाहते हैं ।
तो मैं करने के लिए चाहते हैं पर डबल सभी स्वर में एक स्ट्रिंग.
doubleVowels :: String -> String
मेरा प्रयास है (अभी के लिए सिर्फ 'एक', के रूप में मैं कर रहा हूँ कोशिश इसे हल करने के लिए एक पत्र पहली और विस्तार होगा और यह अनुकूलन, एक बार इसे चलाता है):
doubleVowels :: String -> String
doubleVowels a = foldl (\eachChar -> if eachChar == 'a' then (a ++ "aa") else a) "" a
चलाने के लिए कोशिश कर वह कोड मैं जा रहा हूँ निम्नलिखित erorr:
Experimenting.hs:8:78: error:
* Couldn't match type `[Char]' with `Char -> Char'
Expected type: Char -> Char
Actual type: String
* In the expression: a
In the expression: if eachChar == 'a' then (a ++ "aa") else a
In the first argument of `foldl', namely
`(\ eachChar -> if eachChar == 'a' then (a ++ "aa") else a)'
|
8 | doubleVowels a = foldl (\eachChar -> if eachChar == 'a' then (a ++ "aa") else a) "" a
| ^
Experimenting.hs:8:81: error:
* Couldn't match expected type `Char' with actual type `[Char]'
* In the second argument of `foldl', namely `""'
In the expression:
foldl
(\ eachChar -> if eachChar == 'a' then (a ++ "aa") else a) "" a
In an equation for `doubleVowels':
doubleVowels
= foldl
(\ eachChar -> if eachChar == 'a' then (a ++ "aa") else a) "" a
|
8 | doubleVowels a = foldl (\eachChar -> if eachChar == 'a' then (a ++ "aa") else a) "" a
| ^^
Failed, no modules loaded.