我是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并尝试更改代码,但没有成功。
答案 0 :(得分:1)
这可以让你开始......
pyramidNumbers n = [0..n] ++ [(n-1),(n-2)..0]