小编apg*_*p88的帖子

Haskell程序在List中复制元素

我是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

4
推荐指数
1
解决办法
3277
查看次数

标签 统计

haskell ×1