Haskell递归函数返回数字字符串,Prelude.read:no parse

时间:2018-03-19 14:45:49

标签: string haskell recursion numbers

我是Haskell编程的新手,我正在尝试创建一个返回字符串的递归函数“pyramid”:

金字塔0 ==> “0”

金字塔1 ==> “0,1,0”

金字塔2 ==> “0,1,2,1,0”

金字塔3 ==> “0,1,2,3,2,1,0”

- 的更新 -

pyramidHelper :: Integer -> String
pyramidHelper n | n == 0 = ['0']
                | otherwise = pyramidHelper (n-1) ++ [','] ++ ['n'] ++ [','] ++ pyramidHelper (n-1)


pyramid :: Integer -> String
pyramid n   | n == 0    = show 0
            | otherwise = pyramidHelper n

我得到例外:'Prelude.read:没有解析'。我看了Haskell Prelude.read: no parse String并尝试更改代码,但没有成功。

1 个答案:

答案 0 :(得分:1)

这可以让你开始......

pyramidNumbers n = [0..n] ++ [(n-1),(n-2)..0]