所以我的函式'flatten'是將字符和數字串列轉換為字串
flatten :: [(Char, Int)] -> String
flatten [] = []
flatten [(x,y):xs)] = x:(show y flatten xs)
但我不斷收到決議錯誤,誰能幫我理解?謝謝。
parse error (possibly incorrect indentation or mismatched brackets)
|
18 | flatten :: [(Char, Int)] -> String
| ^
uj5u.com熱心網友回復:
編譯錯誤可能源于函式之前的某些flatten內容,例如您忘記關閉括號。
至于flatten函式本身,對于第二個子句,您不應使用方括號,否則您將定義 2 元組串列的串列模式。因此,您將(x, y):xs)其用作模式:
flatten :: [(Char, Int)] -> String
flatten [] = []
flatten ((x,y):xs) = x : show y flatten xs
uj5u.com熱心網友回復:
flatten [(x,y):xs)] = x:(show y flatten xs)
^
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/459672.html
標籤:哈斯克尔
