我是Haskell的新手.我正在尝试编写一个程序,该程序将列表作为输入复制列表的每个元素k次,其中k=列表中元素的位置.
例如replic[5,6,7]给[[5],[6,6],[7,7,7]].
另一个条件是解决方案必须使用map功能.
直到现在我写的代码是:
replic [] = []
replic (x:xs) = map (replicate 2 ) [x] ++ replic xs
Run Code Online (Sandbox Code Playgroud)
这会复制每个元素两次,因为replicate具有输入参数2.
我需要的是replicate函数应该1 ,2 ,3在连续调用中给出输入.所以我需要一个柜台.我如何在那里使用计数器或做任何能给我元素位置的东西?
haskell ×1