我正在嘗試編寫一個haskell程序,它接受一個字符串並返回一個只包含元音的新字符串,但是出現此錯誤。`Char'被應用於太多的類型參數
`Char' is applied to too many type arguments
In the type signature for `vowels': vowels :: Char a => a -> a
這裏是我的代碼:
vowels :: (Char a) => a -> a
vowels str = [ x | x <- str, x `elem` ['A','E','I','U','Y','O']]
你能告訴你的函數應該是什麼類型嗎? – duplode
字符列表:/因此,我以前試過使用 元音::(Char [a])=> [a] - > [a] 但我得到相同的錯誤:/ – user3334838
所以你有一個*需要的函數* Char的列表和*返回* Char的列表。你把它寫成'[Char] - > [Char]'(即你用'Char'替換通用'a')。 '(char a)=> ...'會說'a'是'Char'類的實例(如果存在的話),這是一個非常不同的事情。 – duplode