应该将列表转换为字符串的函数解析错误 - haskell
parse error in function that is supposed to convert list to string - haskell
所以我的函数'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
| ^
编译错误可能源于 在 函数 flatten
之前,例如您忘记关闭括号。
至于 flatten
函数本身,对于第二个子句,您不应使用方括号,否则您将定义一个二元组列表列表的模式。因此,您使用 (x, y):xs)
作为模式:
flatten :: [(Char, Int)] -> String
flatten [] = []
flatten <strong>((x,y):xs)</strong> = x : show y ++ flatten xs
flatten [(x,y):xs)] = x:(show y ++ flatten xs)
^
所以我的函数'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
| ^
编译错误可能源于 在 函数 flatten
之前,例如您忘记关闭括号。
至于 flatten
函数本身,对于第二个子句,您不应使用方括号,否则您将定义一个二元组列表列表的模式。因此,您使用 (x, y):xs)
作为模式:
flatten :: [(Char, Int)] -> String
flatten [] = []
flatten <strong>((x,y):xs)</strong> = x : show y ++ flatten xs
flatten [(x,y):xs)] = x:(show y ++ flatten xs)
^