相关疑难解决方法(0)

Haskell:列表中的每个第2个元素加倍

我刚开始使用Haskell并想编写一个函数,给定一个列表,返回一个列表,其中每个第二个元素都被加倍.

到目前为止,我已经想出了这个:

double_2nd :: [Int] -> [Int]
double_2nd [] = []
double_2nd (x:xs) = x : (2 * head xs) : double_2nd (tail xs)
Run Code Online (Sandbox Code Playgroud)

哪个有效,但我想知道你们怎么会写这个功能.是否有更常见/更好的方式或看起来对吗?

haskell

19
推荐指数
4
解决办法
8659
查看次数

标签 统计

haskell ×1